mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
Merge branch 'parisc' from /home/kyle/repos/parisc-2.6.git
Conflicts: arch/parisc/hpux/sys_hpux.c arch/parisc/mm/ioremap.c
This commit is contained in:
commit
e7b3ca0854
30 changed files with 310 additions and 358 deletions
|
|
@ -10,10 +10,6 @@
|
|||
** the Free Software Foundation; either version 2 of the License, or
|
||||
** (at your option) any later version.
|
||||
**
|
||||
** This Driver currently only supports the console (port 0) on the MUX.
|
||||
** Additional work will be needed on this driver to enable the full
|
||||
** functionality of the MUX.
|
||||
**
|
||||
*/
|
||||
|
||||
#include <linux/types.h>
|
||||
|
|
@ -67,7 +63,7 @@ static int hppb_probe(struct parisc_device *dev)
|
|||
}
|
||||
card = card->next;
|
||||
}
|
||||
printk(KERN_INFO "Found GeckoBoa at 0x%lx\n", dev->hpa.start);
|
||||
printk(KERN_INFO "Found GeckoBoa at 0x%x\n", dev->hpa.start);
|
||||
|
||||
card->hpa = dev->hpa.start;
|
||||
card->mmio_region.name = "HP-PB Bus";
|
||||
|
|
@ -78,16 +74,18 @@ static int hppb_probe(struct parisc_device *dev)
|
|||
|
||||
status = ccio_request_resource(dev, &card->mmio_region);
|
||||
if(status < 0) {
|
||||
printk(KERN_ERR "%s: failed to claim HP-PB bus space (%08lx, %08lx)\n",
|
||||
printk(KERN_ERR "%s: failed to claim HP-PB bus space (%08x, %08x)\n",
|
||||
__FILE__, card->mmio_region.start, card->mmio_region.end);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static struct parisc_device_id hppb_tbl[] = {
|
||||
{ HPHW_BCPORT, HVERSION_REV_ANY_ID, 0x500, 0xc },
|
||||
{ HPHW_BCPORT, HVERSION_REV_ANY_ID, 0x500, 0xc }, /* E25 and K */
|
||||
{ HPHW_BCPORT, 0x0, 0x501, 0xc }, /* E35 */
|
||||
{ HPHW_BCPORT, 0x0, 0x502, 0xc }, /* E45 */
|
||||
{ HPHW_BCPORT, 0x0, 0x503, 0xc }, /* E55 */
|
||||
{ 0, }
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@ struct iosapic_irt {
|
|||
struct vector_info {
|
||||
struct iosapic_info *iosapic; /* I/O SAPIC this vector is on */
|
||||
struct irt_entry *irte; /* IRT entry */
|
||||
u32 *eoi_addr; /* precalculate EOI reg address */
|
||||
u32 __iomem *eoi_addr; /* precalculate EOI reg address */
|
||||
u32 eoi_data; /* IA64: ? PA: swapped txn_data */
|
||||
int txn_irq; /* virtual IRQ number for processor */
|
||||
ulong txn_addr; /* IA64: id_eid PA: partial HPA */
|
||||
|
|
|
|||
|
|
@ -980,7 +980,7 @@ LBA_PORT_IN(32, 0)
|
|||
#define LBA_PORT_OUT(size, mask) \
|
||||
static void lba_pat_out##size (struct pci_hba_data *l, u16 addr, u##size val) \
|
||||
{ \
|
||||
void *where = (void *) PIOP_TO_GMMIO(LBA_DEV(l), addr); \
|
||||
void __iomem *where = PIOP_TO_GMMIO(LBA_DEV(l), addr); \
|
||||
DBG_PORT("%s(0x%p, 0x%x, 0x%x)\n", __FUNCTION__, l, addr, val); \
|
||||
WRITE_REG##size(val, where); \
|
||||
/* flush the I/O down to the elroy at least */ \
|
||||
|
|
@ -1406,13 +1406,20 @@ lba_hw_init(struct lba_device *d)
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Unfortunately, when firmware numbers busses, it doesn't take into account
|
||||
* Cardbus bridges. So we have to renumber the busses to suit ourselves.
|
||||
* Elroy/Mercury don't actually know what bus number they're attached to;
|
||||
* we use bus 0 to indicate the directly attached bus and any other bus
|
||||
* number will be taken care of by the PCI-PCI bridge.
|
||||
*/
|
||||
static unsigned int lba_next_bus = 0;
|
||||
|
||||
/*
|
||||
** Determine if lba should claim this chip (return 0) or not (return 1).
|
||||
** If so, initialize the chip and tell other partners in crime they
|
||||
** have work to do.
|
||||
*/
|
||||
* Determine if lba should claim this chip (return 0) or not (return 1).
|
||||
* If so, initialize the chip and tell other partners in crime they
|
||||
* have work to do.
|
||||
*/
|
||||
static int __init
|
||||
lba_driver_probe(struct parisc_device *dev)
|
||||
{
|
||||
|
|
@ -1478,9 +1485,7 @@ lba_driver_probe(struct parisc_device *dev)
|
|||
return -ENODEV;
|
||||
}
|
||||
|
||||
/*
|
||||
** Tell I/O SAPIC driver we have a IRQ handler/region.
|
||||
*/
|
||||
/* Tell I/O SAPIC driver we have a IRQ handler/region. */
|
||||
tmp_obj = iosapic_register(dev->hpa.start + LBA_IOSAPIC_BASE);
|
||||
|
||||
/* NOTE: PCI devices (e.g. 103c:1005 graphics card) which don't
|
||||
|
|
@ -1529,16 +1534,17 @@ lba_driver_probe(struct parisc_device *dev)
|
|||
lba_legacy_resources(dev, lba_dev);
|
||||
}
|
||||
|
||||
/*
|
||||
** Tell PCI support another PCI bus was found.
|
||||
** Walks PCI bus for us too.
|
||||
*/
|
||||
if (lba_dev->hba.bus_num.start < lba_next_bus)
|
||||
lba_dev->hba.bus_num.start = lba_next_bus;
|
||||
|
||||
dev->dev.platform_data = lba_dev;
|
||||
lba_bus = lba_dev->hba.hba_bus =
|
||||
pci_scan_bus_parented(&dev->dev, lba_dev->hba.bus_num.start,
|
||||
cfg_ops, NULL);
|
||||
if (lba_bus)
|
||||
if (lba_bus) {
|
||||
lba_next_bus = lba_bus->subordinate + 1;
|
||||
pci_bus_add_devices(lba_bus);
|
||||
}
|
||||
|
||||
/* This is in lieu of calling pci_assign_unassigned_resources() */
|
||||
if (is_pdc_pat()) {
|
||||
|
|
|
|||
|
|
@ -66,8 +66,8 @@ static char lcd_text_default[32] __read_mostly;
|
|||
|
||||
|
||||
static struct workqueue_struct *led_wq;
|
||||
static void led_work_func(void *);
|
||||
static DECLARE_WORK(led_task, led_work_func, NULL);
|
||||
static void led_work_func(struct work_struct *);
|
||||
static DECLARE_DELAYED_WORK(led_task, led_work_func);
|
||||
|
||||
#if 0
|
||||
#define DPRINTK(x) printk x
|
||||
|
|
@ -136,7 +136,7 @@ static int start_task(void)
|
|||
|
||||
/* Create the work queue and queue the LED task */
|
||||
led_wq = create_singlethread_workqueue("led_wq");
|
||||
queue_work(led_wq, &led_task);
|
||||
queue_delayed_work(led_wq, &led_task, 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -443,7 +443,7 @@ static __inline__ int led_get_diskio_activity(void)
|
|||
|
||||
#define LED_UPDATE_INTERVAL (1 + (HZ*19/1000))
|
||||
|
||||
static void led_work_func (void *unused)
|
||||
static void led_work_func (struct work_struct *unused)
|
||||
{
|
||||
static unsigned long last_jiffies;
|
||||
static unsigned long count_HZ; /* counter in range 0..HZ */
|
||||
|
|
@ -590,7 +590,7 @@ int __init register_led_driver(int model, unsigned long cmd_reg, unsigned long d
|
|||
|
||||
/* Ensure the work is queued */
|
||||
if (led_wq) {
|
||||
queue_work(led_wq, &led_task);
|
||||
queue_delayed_work(led_wq, &led_task, 0);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -660,7 +660,7 @@ int lcd_print( char *str )
|
|||
|
||||
/* re-queue the work */
|
||||
if (led_wq) {
|
||||
queue_work(led_wq, &led_task);
|
||||
queue_delayed_work(led_wq, &led_task, 0);
|
||||
}
|
||||
|
||||
return lcd_info.lcd_width;
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@
|
|||
} )
|
||||
|
||||
|
||||
static void deferred_poweroff(void *dummy)
|
||||
static void deferred_poweroff(struct work_struct *unused)
|
||||
{
|
||||
if (kill_cad_pid(SIGINT, 1)) {
|
||||
/* just in case killing init process failed */
|
||||
|
|
@ -96,7 +96,7 @@ static void deferred_poweroff(void *dummy)
|
|||
* use schedule_work().
|
||||
*/
|
||||
|
||||
static DECLARE_WORK(poweroff_work, deferred_poweroff, NULL);
|
||||
static DECLARE_WORK(poweroff_work, deferred_poweroff);
|
||||
|
||||
static void poweroff(void)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@ static unsigned long piranha_bad_128k = 0;
|
|||
|
||||
#ifdef SBA_AGP_SUPPORT
|
||||
static int sba_reserve_agpgart = 1;
|
||||
module_param(sba_reserve_agpgart, int, 1);
|
||||
module_param(sba_reserve_agpgart, int, 0444);
|
||||
MODULE_PARM_DESC(sba_reserve_agpgart, "Reserve half of IO pdir as AGPGART");
|
||||
#endif
|
||||
|
||||
|
|
@ -846,7 +846,7 @@ static void *sba_alloc_consistent(struct device *hwdev, size_t size,
|
|||
if (!hwdev) {
|
||||
/* only support PCI */
|
||||
*dma_handle = 0;
|
||||
return 0;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ret = (void *) __get_free_pages(gfp, get_order(size));
|
||||
|
|
|
|||
Loading…
Reference in a new issue