diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-11-20 01:05:35 -0500 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-11-20 01:05:35 -0500 |
commit | 4af452bd03ec73efb1d3bf560d6d22b12d96752e (patch) | |
tree | 25b79c5aa3f35da523b4a1f89e7734070a8931ce /drivers | |
parent | 625876f32ed63af262db3d0ac8178d2c0f510636 (diff) | |
parent | 3bedff1d73b86e0cf52634efb447e9ada08f2cc6 (diff) |
Merge branch 'master'
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/i2c/busses/i2c-ixp2000.c | 6 | ||||
-rw-r--r-- | drivers/i2c/busses/i2c-ixp4xx.c | 7 | ||||
-rw-r--r-- | drivers/ide/ide-cd.c | 4 | ||||
-rw-r--r-- | drivers/ide/ide-disk.c | 2 | ||||
-rw-r--r-- | drivers/ide/ide-floppy.c | 5 | ||||
-rw-r--r-- | drivers/ide/ide-io.c | 6 | ||||
-rw-r--r-- | drivers/ide/ide-tape.c | 5 | ||||
-rw-r--r-- | drivers/ide/ide-taskfile.c | 27 | ||||
-rw-r--r-- | drivers/ide/pci/sis5513.c | 1 | ||||
-rw-r--r-- | drivers/ide/pci/via82cxxx.c | 30 | ||||
-rw-r--r-- | drivers/mtd/maps/ipaq-flash.c | 6 | ||||
-rw-r--r-- | drivers/mtd/maps/ixp2000.c | 22 | ||||
-rw-r--r-- | drivers/mtd/nand/h1910.c | 2 | ||||
-rw-r--r-- | drivers/serial/amba-pl011.c | 45 | ||||
-rw-r--r-- | drivers/serial/sa1100.c | 1 |
15 files changed, 71 insertions, 98 deletions
diff --git a/drivers/i2c/busses/i2c-ixp2000.c b/drivers/i2c/busses/i2c-ixp2000.c index cef024a7d048..cd6f45d186ab 100644 --- a/drivers/i2c/busses/i2c-ixp2000.c +++ b/drivers/i2c/busses/i2c-ixp2000.c | |||
@@ -36,8 +36,6 @@ | |||
36 | #include <asm/hardware.h> /* Pick up IXP2000-specific bits */ | 36 | #include <asm/hardware.h> /* Pick up IXP2000-specific bits */ |
37 | #include <asm/arch/gpio.h> | 37 | #include <asm/arch/gpio.h> |
38 | 38 | ||
39 | static struct device_driver ixp2000_i2c_driver; | ||
40 | |||
41 | static inline int ixp2000_scl_pin(void *data) | 39 | static inline int ixp2000_scl_pin(void *data) |
42 | { | 40 | { |
43 | return ((struct ixp2000_i2c_pins*)data)->scl_pin; | 41 | return ((struct ixp2000_i2c_pins*)data)->scl_pin; |
@@ -120,7 +118,7 @@ static int ixp2000_i2c_probe(struct platform_device *plat_dev) | |||
120 | drv_data->algo_data.timeout = 100; | 118 | drv_data->algo_data.timeout = 100; |
121 | 119 | ||
122 | drv_data->adapter.id = I2C_HW_B_IXP2000, | 120 | drv_data->adapter.id = I2C_HW_B_IXP2000, |
123 | strlcpy(drv_data->adapter.name, ixp2000_i2c_driver.name, | 121 | strlcpy(drv_data->adapter.name, plat_dev->dev.driver->name, |
124 | I2C_NAME_SIZE); | 122 | I2C_NAME_SIZE); |
125 | drv_data->adapter.algo_data = &drv_data->algo_data, | 123 | drv_data->adapter.algo_data = &drv_data->algo_data, |
126 | 124 | ||
@@ -132,7 +130,7 @@ static int ixp2000_i2c_probe(struct platform_device *plat_dev) | |||
132 | gpio_line_set(gpio->sda_pin, 0); | 130 | gpio_line_set(gpio->sda_pin, 0); |
133 | 131 | ||
134 | if ((err = i2c_bit_add_bus(&drv_data->adapter)) != 0) { | 132 | if ((err = i2c_bit_add_bus(&drv_data->adapter)) != 0) { |
135 | dev_err(dev, "Could not install, error %d\n", err); | 133 | dev_err(&plat_dev->dev, "Could not install, error %d\n", err); |
136 | kfree(drv_data); | 134 | kfree(drv_data); |
137 | return err; | 135 | return err; |
138 | } | 136 | } |
diff --git a/drivers/i2c/busses/i2c-ixp4xx.c b/drivers/i2c/busses/i2c-ixp4xx.c index f87220be3c87..e422d8b2d4d6 100644 --- a/drivers/i2c/busses/i2c-ixp4xx.c +++ b/drivers/i2c/busses/i2c-ixp4xx.c | |||
@@ -35,8 +35,6 @@ | |||
35 | 35 | ||
36 | #include <asm/hardware.h> /* Pick up IXP4xx-specific bits */ | 36 | #include <asm/hardware.h> /* Pick up IXP4xx-specific bits */ |
37 | 37 | ||
38 | static struct platform_driver ixp4xx_i2c_driver; | ||
39 | |||
40 | static inline int ixp4xx_scl_pin(void *data) | 38 | static inline int ixp4xx_scl_pin(void *data) |
41 | { | 39 | { |
42 | return ((struct ixp4xx_i2c_pins*)data)->scl_pin; | 40 | return ((struct ixp4xx_i2c_pins*)data)->scl_pin; |
@@ -128,7 +126,7 @@ static int ixp4xx_i2c_probe(struct platform_device *plat_dev) | |||
128 | drv_data->algo_data.timeout = 100; | 126 | drv_data->algo_data.timeout = 100; |
129 | 127 | ||
130 | drv_data->adapter.id = I2C_HW_B_IXP4XX; | 128 | drv_data->adapter.id = I2C_HW_B_IXP4XX; |
131 | strlcpy(drv_data->adapter.name, ixp4xx_i2c_driver.driver.name, | 129 | strlcpy(drv_data->adapter.name, plat_dev->dev.driver->name, |
132 | I2C_NAME_SIZE); | 130 | I2C_NAME_SIZE); |
133 | drv_data->adapter.algo_data = &drv_data->algo_data; | 131 | drv_data->adapter.algo_data = &drv_data->algo_data; |
134 | 132 | ||
@@ -140,8 +138,7 @@ static int ixp4xx_i2c_probe(struct platform_device *plat_dev) | |||
140 | gpio_line_set(gpio->sda_pin, 0); | 138 | gpio_line_set(gpio->sda_pin, 0); |
141 | 139 | ||
142 | if ((err = i2c_bit_add_bus(&drv_data->adapter) != 0)) { | 140 | if ((err = i2c_bit_add_bus(&drv_data->adapter) != 0)) { |
143 | printk(KERN_ERR "ERROR: Could not install %s\n", | 141 | printk(KERN_ERR "ERROR: Could not install %s\n", plat_dev->dev.bus_id); |
144 | plat_dev->dev.bus_id); | ||
145 | 142 | ||
146 | kfree(drv_data); | 143 | kfree(drv_data); |
147 | return err; | 144 | return err; |
diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c index 421b62d900af..9455e42abb23 100644 --- a/drivers/ide/ide-cd.c +++ b/drivers/ide/ide-cd.c | |||
@@ -3510,8 +3510,8 @@ static void __exit ide_cdrom_exit(void) | |||
3510 | { | 3510 | { |
3511 | driver_unregister(&ide_cdrom_driver.gen_driver); | 3511 | driver_unregister(&ide_cdrom_driver.gen_driver); |
3512 | } | 3512 | } |
3513 | 3513 | ||
3514 | static int ide_cdrom_init(void) | 3514 | static int __init ide_cdrom_init(void) |
3515 | { | 3515 | { |
3516 | return driver_register(&ide_cdrom_driver.gen_driver); | 3516 | return driver_register(&ide_cdrom_driver.gen_driver); |
3517 | } | 3517 | } |
diff --git a/drivers/ide/ide-disk.c b/drivers/ide/ide-disk.c index 1a45f75dc9b2..f4e3d3527b0e 100644 --- a/drivers/ide/ide-disk.c +++ b/drivers/ide/ide-disk.c | |||
@@ -1266,7 +1266,7 @@ static void __exit idedisk_exit (void) | |||
1266 | driver_unregister(&idedisk_driver.gen_driver); | 1266 | driver_unregister(&idedisk_driver.gen_driver); |
1267 | } | 1267 | } |
1268 | 1268 | ||
1269 | static int idedisk_init (void) | 1269 | static int __init idedisk_init(void) |
1270 | { | 1270 | { |
1271 | return driver_register(&idedisk_driver.gen_driver); | 1271 | return driver_register(&idedisk_driver.gen_driver); |
1272 | } | 1272 | } |
diff --git a/drivers/ide/ide-floppy.c b/drivers/ide/ide-floppy.c index 94c147b79a49..9e293c8063dc 100644 --- a/drivers/ide/ide-floppy.c +++ b/drivers/ide/ide-floppy.c | |||
@@ -2191,10 +2191,7 @@ static void __exit idefloppy_exit (void) | |||
2191 | driver_unregister(&idefloppy_driver.gen_driver); | 2191 | driver_unregister(&idefloppy_driver.gen_driver); |
2192 | } | 2192 | } |
2193 | 2193 | ||
2194 | /* | 2194 | static int __init idefloppy_init(void) |
2195 | * idefloppy_init will register the driver for each floppy. | ||
2196 | */ | ||
2197 | static int idefloppy_init (void) | ||
2198 | { | 2195 | { |
2199 | printk("ide-floppy driver " IDEFLOPPY_VERSION "\n"); | 2196 | printk("ide-floppy driver " IDEFLOPPY_VERSION "\n"); |
2200 | return driver_register(&idefloppy_driver.gen_driver); | 2197 | return driver_register(&idefloppy_driver.gen_driver); |
diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c index 5275cbb1afe9..ecfafcdafea4 100644 --- a/drivers/ide/ide-io.c +++ b/drivers/ide/ide-io.c | |||
@@ -1629,12 +1629,6 @@ EXPORT_SYMBOL(ide_init_drive_cmd); | |||
1629 | * for the new rq to be completed. This is VERY DANGEROUS, and is | 1629 | * for the new rq to be completed. This is VERY DANGEROUS, and is |
1630 | * intended for careful use by the ATAPI tape/cdrom driver code. | 1630 | * intended for careful use by the ATAPI tape/cdrom driver code. |
1631 | * | 1631 | * |
1632 | * If action is ide_next, then the rq is queued immediately after | ||
1633 | * the currently-being-processed-request (if any), and the function | ||
1634 | * returns without waiting for the new rq to be completed. As above, | ||
1635 | * This is VERY DANGEROUS, and is intended for careful use by the | ||
1636 | * ATAPI tape/cdrom driver code. | ||
1637 | * | ||
1638 | * If action is ide_end, then the rq is queued at the end of the | 1632 | * If action is ide_end, then the rq is queued at the end of the |
1639 | * request queue, and the function returns immediately without waiting | 1633 | * request queue, and the function returns immediately without waiting |
1640 | * for the new rq to be completed. This is again intended for careful | 1634 | * for the new rq to be completed. This is again intended for careful |
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c index 2069dd693c9f..7d7944ed4158 100644 --- a/drivers/ide/ide-tape.c +++ b/drivers/ide/ide-tape.c | |||
@@ -4916,10 +4916,7 @@ static void __exit idetape_exit (void) | |||
4916 | unregister_chrdev(IDETAPE_MAJOR, "ht"); | 4916 | unregister_chrdev(IDETAPE_MAJOR, "ht"); |
4917 | } | 4917 | } |
4918 | 4918 | ||
4919 | /* | 4919 | static int __init idetape_init(void) |
4920 | * idetape_init will register the driver for each tape. | ||
4921 | */ | ||
4922 | static int idetape_init (void) | ||
4923 | { | 4920 | { |
4924 | int error = 1; | 4921 | int error = 1; |
4925 | idetape_sysfs_class = class_create(THIS_MODULE, "ide_tape"); | 4922 | idetape_sysfs_class = class_create(THIS_MODULE, "ide_tape"); |
diff --git a/drivers/ide/ide-taskfile.c b/drivers/ide/ide-taskfile.c index 54f9639c2a8c..62ebefd6394a 100644 --- a/drivers/ide/ide-taskfile.c +++ b/drivers/ide/ide-taskfile.c | |||
@@ -51,8 +51,6 @@ | |||
51 | #include <asm/uaccess.h> | 51 | #include <asm/uaccess.h> |
52 | #include <asm/io.h> | 52 | #include <asm/io.h> |
53 | 53 | ||
54 | #define DEBUG_TASKFILE 0 /* unset when fixed */ | ||
55 | |||
56 | static void ata_bswap_data (void *buffer, int wcount) | 54 | static void ata_bswap_data (void *buffer, int wcount) |
57 | { | 55 | { |
58 | u16 *p = buffer; | 56 | u16 *p = buffer; |
@@ -765,9 +763,6 @@ ide_startstop_t flagged_taskfile (ide_drive_t *drive, ide_task_t *task) | |||
765 | ide_hwif_t *hwif = HWIF(drive); | 763 | ide_hwif_t *hwif = HWIF(drive); |
766 | task_struct_t *taskfile = (task_struct_t *) task->tfRegister; | 764 | task_struct_t *taskfile = (task_struct_t *) task->tfRegister; |
767 | hob_struct_t *hobfile = (hob_struct_t *) task->hobRegister; | 765 | hob_struct_t *hobfile = (hob_struct_t *) task->hobRegister; |
768 | #if DEBUG_TASKFILE | ||
769 | u8 status; | ||
770 | #endif | ||
771 | 766 | ||
772 | if (task->data_phase == TASKFILE_MULTI_IN || | 767 | if (task->data_phase == TASKFILE_MULTI_IN || |
773 | task->data_phase == TASKFILE_MULTI_OUT) { | 768 | task->data_phase == TASKFILE_MULTI_OUT) { |
@@ -778,19 +773,13 @@ ide_startstop_t flagged_taskfile (ide_drive_t *drive, ide_task_t *task) | |||
778 | } | 773 | } |
779 | 774 | ||
780 | /* | 775 | /* |
781 | * (ks) Check taskfile in/out flags. | 776 | * (ks) Check taskfile in flags. |
782 | * If set, then execute as it is defined. | 777 | * If set, then execute as it is defined. |
783 | * If not set, then define default settings. | 778 | * If not set, then define default settings. |
784 | * The default values are: | 779 | * The default values are: |
785 | * write and read all taskfile registers (except data) | 780 | * read all taskfile registers (except data) |
786 | * write and read the hob registers (sector,nsector,lcyl,hcyl) | 781 | * read the hob registers (sector, nsector, lcyl, hcyl) |
787 | */ | 782 | */ |
788 | if (task->tf_out_flags.all == 0) { | ||
789 | task->tf_out_flags.all = IDE_TASKFILE_STD_OUT_FLAGS; | ||
790 | if (drive->addressing == 1) | ||
791 | task->tf_out_flags.all |= (IDE_HOB_STD_OUT_FLAGS << 8); | ||
792 | } | ||
793 | |||
794 | if (task->tf_in_flags.all == 0) { | 783 | if (task->tf_in_flags.all == 0) { |
795 | task->tf_in_flags.all = IDE_TASKFILE_STD_IN_FLAGS; | 784 | task->tf_in_flags.all = IDE_TASKFILE_STD_IN_FLAGS; |
796 | if (drive->addressing == 1) | 785 | if (drive->addressing == 1) |
@@ -803,16 +792,6 @@ ide_startstop_t flagged_taskfile (ide_drive_t *drive, ide_task_t *task) | |||
803 | hwif->OUTB(drive->ctl, IDE_CONTROL_REG); | 792 | hwif->OUTB(drive->ctl, IDE_CONTROL_REG); |
804 | SELECT_MASK(drive, 0); | 793 | SELECT_MASK(drive, 0); |
805 | 794 | ||
806 | #if DEBUG_TASKFILE | ||
807 | status = hwif->INB(IDE_STATUS_REG); | ||
808 | if (status & 0x80) { | ||
809 | printk("flagged_taskfile -> Bad status. Status = %02x. wait 100 usec ...\n", status); | ||
810 | udelay(100); | ||
811 | status = hwif->INB(IDE_STATUS_REG); | ||
812 | printk("flagged_taskfile -> Status = %02x\n", status); | ||
813 | } | ||
814 | #endif | ||
815 | |||
816 | if (task->tf_out_flags.b.data) { | 795 | if (task->tf_out_flags.b.data) { |
817 | u16 data = taskfile->data + (hobfile->data << 8); | 796 | u16 data = taskfile->data + (hobfile->data << 8); |
818 | hwif->OUTW(data, IDE_DATA_REG); | 797 | hwif->OUTW(data, IDE_DATA_REG); |
diff --git a/drivers/ide/pci/sis5513.c b/drivers/ide/pci/sis5513.c index 16b3e2d8bfb1..75a2253a3e68 100644 --- a/drivers/ide/pci/sis5513.c +++ b/drivers/ide/pci/sis5513.c | |||
@@ -87,6 +87,7 @@ static const struct { | |||
87 | u8 chipset_family; | 87 | u8 chipset_family; |
88 | u8 flags; | 88 | u8 flags; |
89 | } SiSHostChipInfo[] = { | 89 | } SiSHostChipInfo[] = { |
90 | { "SiS965", PCI_DEVICE_ID_SI_965, ATA_133 }, | ||
90 | { "SiS745", PCI_DEVICE_ID_SI_745, ATA_100 }, | 91 | { "SiS745", PCI_DEVICE_ID_SI_745, ATA_100 }, |
91 | { "SiS735", PCI_DEVICE_ID_SI_735, ATA_100 }, | 92 | { "SiS735", PCI_DEVICE_ID_SI_735, ATA_100 }, |
92 | { "SiS733", PCI_DEVICE_ID_SI_733, ATA_100 }, | 93 | { "SiS733", PCI_DEVICE_ID_SI_733, ATA_100 }, |
diff --git a/drivers/ide/pci/via82cxxx.c b/drivers/ide/pci/via82cxxx.c index cee2c374cd2f..7161ce0ef5aa 100644 --- a/drivers/ide/pci/via82cxxx.c +++ b/drivers/ide/pci/via82cxxx.c | |||
@@ -79,6 +79,7 @@ static struct via_isa_bridge { | |||
79 | u8 rev_max; | 79 | u8 rev_max; |
80 | u16 flags; | 80 | u16 flags; |
81 | } via_isa_bridges[] = { | 81 | } via_isa_bridges[] = { |
82 | { "vt6410", PCI_DEVICE_ID_VIA_6410, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, | ||
82 | { "vt8237", PCI_DEVICE_ID_VIA_8237, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, | 83 | { "vt8237", PCI_DEVICE_ID_VIA_8237, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, |
83 | { "vt8235", PCI_DEVICE_ID_VIA_8235, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, | 84 | { "vt8235", PCI_DEVICE_ID_VIA_8235, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, |
84 | { "vt8233a", PCI_DEVICE_ID_VIA_8233A, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, | 85 | { "vt8233a", PCI_DEVICE_ID_VIA_8233A, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, |
@@ -467,24 +468,35 @@ static void __devinit init_hwif_via82cxxx(ide_hwif_t *hwif) | |||
467 | hwif->drives[1].autodma = hwif->autodma; | 468 | hwif->drives[1].autodma = hwif->autodma; |
468 | } | 469 | } |
469 | 470 | ||
470 | static ide_pci_device_t via82cxxx_chipset __devinitdata = { | 471 | static ide_pci_device_t via82cxxx_chipsets[] __devinitdata = { |
471 | .name = "VP_IDE", | 472 | { /* 0 */ |
472 | .init_chipset = init_chipset_via82cxxx, | 473 | .name = "VP_IDE", |
473 | .init_hwif = init_hwif_via82cxxx, | 474 | .init_chipset = init_chipset_via82cxxx, |
474 | .channels = 2, | 475 | .init_hwif = init_hwif_via82cxxx, |
475 | .autodma = NOAUTODMA, | 476 | .channels = 2, |
476 | .enablebits = {{0x40,0x02,0x02}, {0x40,0x01,0x01}}, | 477 | .autodma = NOAUTODMA, |
477 | .bootable = ON_BOARD, | 478 | .enablebits = {{0x40,0x02,0x02}, {0x40,0x01,0x01}}, |
479 | .bootable = ON_BOARD | ||
480 | },{ /* 1 */ | ||
481 | .name = "VP_IDE", | ||
482 | .init_chipset = init_chipset_via82cxxx, | ||
483 | .init_hwif = init_hwif_via82cxxx, | ||
484 | .channels = 2, | ||
485 | .autodma = AUTODMA, | ||
486 | .enablebits = {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, | ||
487 | .bootable = ON_BOARD, | ||
488 | } | ||
478 | }; | 489 | }; |
479 | 490 | ||
480 | static int __devinit via_init_one(struct pci_dev *dev, const struct pci_device_id *id) | 491 | static int __devinit via_init_one(struct pci_dev *dev, const struct pci_device_id *id) |
481 | { | 492 | { |
482 | return ide_setup_pci_device(dev, &via82cxxx_chipset); | 493 | return ide_setup_pci_device(dev, &via82cxxx_chipsets[id->driver_data]); |
483 | } | 494 | } |
484 | 495 | ||
485 | static struct pci_device_id via_pci_tbl[] = { | 496 | static struct pci_device_id via_pci_tbl[] = { |
486 | { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C576_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 497 | { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C576_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, |
487 | { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 498 | { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, |
499 | { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_6410, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1}, | ||
488 | { 0, }, | 500 | { 0, }, |
489 | }; | 501 | }; |
490 | MODULE_DEVICE_TABLE(pci, via_pci_tbl); | 502 | MODULE_DEVICE_TABLE(pci, via_pci_tbl); |
diff --git a/drivers/mtd/maps/ipaq-flash.c b/drivers/mtd/maps/ipaq-flash.c index 35097c9bbf50..b8ccb0a95789 100644 --- a/drivers/mtd/maps/ipaq-flash.c +++ b/drivers/mtd/maps/ipaq-flash.c | |||
@@ -246,7 +246,7 @@ int __init ipaq_mtd_init(void) | |||
246 | ipaq_map[i].size = h3xxx_max_flash_size; | 246 | ipaq_map[i].size = h3xxx_max_flash_size; |
247 | ipaq_map[i].set_vpp = h3xxx_set_vpp; | 247 | ipaq_map[i].set_vpp = h3xxx_set_vpp; |
248 | ipaq_map[i].phys = cs_phys[i]; | 248 | ipaq_map[i].phys = cs_phys[i]; |
249 | ipaq_map[i].virt = __ioremap(cs_phys[i], 0x04000000, 0, 1); | 249 | ipaq_map[i].virt = ioremap(cs_phys[i], 0x04000000); |
250 | if (machine_is_h3100 () || machine_is_h1900()) | 250 | if (machine_is_h3100 () || machine_is_h1900()) |
251 | ipaq_map[i].bankwidth = 2; | 251 | ipaq_map[i].bankwidth = 2; |
252 | } | 252 | } |
@@ -280,7 +280,7 @@ int __init ipaq_mtd_init(void) | |||
280 | nb_parts = ARRAY_SIZE(jornada_partitions); | 280 | nb_parts = ARRAY_SIZE(jornada_partitions); |
281 | ipaq_map[0].size = jornada_max_flash_size; | 281 | ipaq_map[0].size = jornada_max_flash_size; |
282 | ipaq_map[0].set_vpp = jornada56x_set_vpp; | 282 | ipaq_map[0].set_vpp = jornada56x_set_vpp; |
283 | ipaq_map[0].virt = (__u32)__ioremap(0x0, 0x04000000, 0, 1); | 283 | ipaq_map[0].virt = (__u32)ioremap(0x0, 0x04000000); |
284 | } | 284 | } |
285 | #endif | 285 | #endif |
286 | #ifdef CONFIG_SA1100_JORNADA720 | 286 | #ifdef CONFIG_SA1100_JORNADA720 |
@@ -442,7 +442,7 @@ static int __init h1900_special_case(void) | |||
442 | ipaq_map[0].size = 0x80000; | 442 | ipaq_map[0].size = 0x80000; |
443 | ipaq_map[0].set_vpp = h3xxx_set_vpp; | 443 | ipaq_map[0].set_vpp = h3xxx_set_vpp; |
444 | ipaq_map[0].phys = 0x0; | 444 | ipaq_map[0].phys = 0x0; |
445 | ipaq_map[0].virt = __ioremap(0x0, 0x04000000, 0, 1); | 445 | ipaq_map[0].virt = ioremap(0x0, 0x04000000); |
446 | ipaq_map[0].bankwidth = 2; | 446 | ipaq_map[0].bankwidth = 2; |
447 | 447 | ||
448 | printk(KERN_NOTICE "iPAQ flash: probing %d-bit flash bus, window=%lx with JEDEC.\n", ipaq_map[0].bankwidth*8, ipaq_map[0].virt); | 448 | printk(KERN_NOTICE "iPAQ flash: probing %d-bit flash bus, window=%lx with JEDEC.\n", ipaq_map[0].bankwidth*8, ipaq_map[0].virt); |
diff --git a/drivers/mtd/maps/ixp2000.c b/drivers/mtd/maps/ixp2000.c index fc7a78e31735..2c9cc7f37e92 100644 --- a/drivers/mtd/maps/ixp2000.c +++ b/drivers/mtd/maps/ixp2000.c | |||
@@ -159,12 +159,12 @@ static int ixp2000_flash_probe(struct platform_device *dev) | |||
159 | return -ENODEV; | 159 | return -ENODEV; |
160 | 160 | ||
161 | window_size = dev->resource->end - dev->resource->start + 1; | 161 | window_size = dev->resource->end - dev->resource->start + 1; |
162 | dev_info(_dev, "Probe of IXP2000 flash(%d banks x %dMiB)\n", | 162 | dev_info(&dev->dev, "Probe of IXP2000 flash(%d banks x %dMiB)\n", |
163 | ixp_data->nr_banks, ((u32)window_size >> 20)); | 163 | ixp_data->nr_banks, ((u32)window_size >> 20)); |
164 | 164 | ||
165 | if (plat->width != 1) { | 165 | if (plat->width != 1) { |
166 | dev_err(_dev, "IXP2000 MTD map only supports 8-bit mode, asking for %d\n", | 166 | dev_err(&dev->dev, "IXP2000 MTD map only supports 8-bit mode, asking for %d\n", |
167 | plat->width * 8); | 167 | plat->width * 8); |
168 | return -EIO; | 168 | return -EIO; |
169 | } | 169 | } |
170 | 170 | ||
@@ -202,7 +202,7 @@ static int ixp2000_flash_probe(struct platform_device *dev) | |||
202 | dev->resource->end - dev->resource->start + 1, | 202 | dev->resource->end - dev->resource->start + 1, |
203 | dev->dev.bus_id); | 203 | dev->dev.bus_id); |
204 | if (!info->res) { | 204 | if (!info->res) { |
205 | dev_err(_dev, "Could not reserve memory region\n"); | 205 | dev_err(&dev->dev, "Could not reserve memory region\n"); |
206 | err = -ENOMEM; | 206 | err = -ENOMEM; |
207 | goto Error; | 207 | goto Error; |
208 | } | 208 | } |
@@ -210,7 +210,7 @@ static int ixp2000_flash_probe(struct platform_device *dev) | |||
210 | info->map.map_priv_1 = (unsigned long) ioremap(dev->resource->start, | 210 | info->map.map_priv_1 = (unsigned long) ioremap(dev->resource->start, |
211 | dev->resource->end - dev->resource->start + 1); | 211 | dev->resource->end - dev->resource->start + 1); |
212 | if (!info->map.map_priv_1) { | 212 | if (!info->map.map_priv_1) { |
213 | dev_err(_dev, "Failed to ioremap flash region\n"); | 213 | dev_err(&dev->dev, "Failed to ioremap flash region\n"); |
214 | err = -EIO; | 214 | err = -EIO; |
215 | goto Error; | 215 | goto Error; |
216 | } | 216 | } |
@@ -221,13 +221,13 @@ static int ixp2000_flash_probe(struct platform_device *dev) | |||
221 | */ | 221 | */ |
222 | 222 | ||
223 | erratum44_workaround = ixp2000_has_broken_slowport(); | 223 | erratum44_workaround = ixp2000_has_broken_slowport(); |
224 | dev_info(_dev, "Erratum 44 workaround %s\n", | 224 | dev_info(&dev->dev, "Erratum 44 workaround %s\n", |
225 | erratum44_workaround ? "enabled" : "disabled"); | 225 | erratum44_workaround ? "enabled" : "disabled"); |
226 | #endif | 226 | #endif |
227 | 227 | ||
228 | info->mtd = do_map_probe(plat->map_name, &info->map); | 228 | info->mtd = do_map_probe(plat->map_name, &info->map); |
229 | if (!info->mtd) { | 229 | if (!info->mtd) { |
230 | dev_err(_dev, "map_probe failed\n"); | 230 | dev_err(&dev->dev, "map_probe failed\n"); |
231 | err = -ENXIO; | 231 | err = -ENXIO; |
232 | goto Error; | 232 | goto Error; |
233 | } | 233 | } |
@@ -237,7 +237,7 @@ static int ixp2000_flash_probe(struct platform_device *dev) | |||
237 | if (err > 0) { | 237 | if (err > 0) { |
238 | err = add_mtd_partitions(info->mtd, info->partitions, err); | 238 | err = add_mtd_partitions(info->mtd, info->partitions, err); |
239 | if(err) | 239 | if(err) |
240 | dev_err(_dev, "Could not parse partitions\n"); | 240 | dev_err(&dev->dev, "Could not parse partitions\n"); |
241 | } | 241 | } |
242 | 242 | ||
243 | if (err) | 243 | if (err) |
@@ -251,8 +251,8 @@ Error: | |||
251 | } | 251 | } |
252 | 252 | ||
253 | static struct platform_driver ixp2000_flash_driver = { | 253 | static struct platform_driver ixp2000_flash_driver = { |
254 | .probe = &ixp2000_flash_probe, | 254 | .probe = ixp2000_flash_probe, |
255 | .remove = &ixp2000_flash_remove | 255 | .remove = ixp2000_flash_remove, |
256 | .driver = { | 256 | .driver = { |
257 | .name = "IXP2000-Flash", | 257 | .name = "IXP2000-Flash", |
258 | }, | 258 | }, |
diff --git a/drivers/mtd/nand/h1910.c b/drivers/mtd/nand/h1910.c index 041e4b3358fb..f68f7a99a630 100644 --- a/drivers/mtd/nand/h1910.c +++ b/drivers/mtd/nand/h1910.c | |||
@@ -112,7 +112,7 @@ static int __init h1910_init (void) | |||
112 | if (!machine_is_h1900()) | 112 | if (!machine_is_h1900()) |
113 | return -ENODEV; | 113 | return -ENODEV; |
114 | 114 | ||
115 | nandaddr = __ioremap(0x08000000, 0x1000, 0, 1); | 115 | nandaddr = ioremap(0x08000000, 0x1000); |
116 | if (!nandaddr) { | 116 | if (!nandaddr) { |
117 | printk("Failed to ioremap nand flash.\n"); | 117 | printk("Failed to ioremap nand flash.\n"); |
118 | return -ENOMEM; | 118 | return -ENOMEM; |
diff --git a/drivers/serial/amba-pl011.c b/drivers/serial/amba-pl011.c index 938d185841c9..89d7bd3eaee3 100644 --- a/drivers/serial/amba-pl011.c +++ b/drivers/serial/amba-pl011.c | |||
@@ -49,7 +49,6 @@ | |||
49 | #include <linux/serial.h> | 49 | #include <linux/serial.h> |
50 | 50 | ||
51 | #include <asm/io.h> | 51 | #include <asm/io.h> |
52 | #include <asm/irq.h> | ||
53 | #include <asm/sizes.h> | 52 | #include <asm/sizes.h> |
54 | #include <asm/hardware/amba.h> | 53 | #include <asm/hardware/amba.h> |
55 | #include <asm/hardware/clock.h> | 54 | #include <asm/hardware/clock.h> |
@@ -63,7 +62,8 @@ | |||
63 | 62 | ||
64 | #define AMBA_ISR_PASS_LIMIT 256 | 63 | #define AMBA_ISR_PASS_LIMIT 256 |
65 | 64 | ||
66 | #define UART_DUMMY_RSR_RX 256 | 65 | #define UART_DR_ERROR (UART011_DR_OE|UART011_DR_BE|UART011_DR_PE|UART011_DR_FE) |
66 | #define UART_DUMMY_DR_RX (1 << 16) | ||
67 | 67 | ||
68 | /* | 68 | /* |
69 | * We wrap our port structure around the generic uart_port. | 69 | * We wrap our port structure around the generic uart_port. |
@@ -116,7 +116,7 @@ pl011_rx_chars(struct uart_amba_port *uap) | |||
116 | #endif | 116 | #endif |
117 | { | 117 | { |
118 | struct tty_struct *tty = uap->port.info->tty; | 118 | struct tty_struct *tty = uap->port.info->tty; |
119 | unsigned int status, ch, flag, rsr, max_count = 256; | 119 | unsigned int status, ch, flag, max_count = 256; |
120 | 120 | ||
121 | status = readw(uap->port.membase + UART01x_FR); | 121 | status = readw(uap->port.membase + UART01x_FR); |
122 | while ((status & UART01x_FR_RXFE) == 0 && max_count--) { | 122 | while ((status & UART01x_FR_RXFE) == 0 && max_count--) { |
@@ -129,7 +129,7 @@ pl011_rx_chars(struct uart_amba_port *uap) | |||
129 | */ | 129 | */ |
130 | } | 130 | } |
131 | 131 | ||
132 | ch = readw(uap->port.membase + UART01x_DR); | 132 | ch = readw(uap->port.membase + UART01x_DR) | UART_DUMMY_DR_RX; |
133 | flag = TTY_NORMAL; | 133 | flag = TTY_NORMAL; |
134 | uap->port.icount.rx++; | 134 | uap->port.icount.rx++; |
135 | 135 | ||
@@ -137,34 +137,33 @@ pl011_rx_chars(struct uart_amba_port *uap) | |||
137 | * Note that the error handling code is | 137 | * Note that the error handling code is |
138 | * out of the main execution path | 138 | * out of the main execution path |
139 | */ | 139 | */ |
140 | rsr = readw(uap->port.membase + UART01x_RSR) | UART_DUMMY_RSR_RX; | 140 | if (unlikely(ch & UART_DR_ERROR)) { |
141 | if (unlikely(rsr & UART01x_RSR_ANY)) { | 141 | if (ch & UART011_DR_BE) { |
142 | if (rsr & UART01x_RSR_BE) { | 142 | ch &= ~(UART011_DR_FE | UART011_DR_PE); |
143 | rsr &= ~(UART01x_RSR_FE | UART01x_RSR_PE); | ||
144 | uap->port.icount.brk++; | 143 | uap->port.icount.brk++; |
145 | if (uart_handle_break(&uap->port)) | 144 | if (uart_handle_break(&uap->port)) |
146 | goto ignore_char; | 145 | goto ignore_char; |
147 | } else if (rsr & UART01x_RSR_PE) | 146 | } else if (ch & UART011_DR_PE) |
148 | uap->port.icount.parity++; | 147 | uap->port.icount.parity++; |
149 | else if (rsr & UART01x_RSR_FE) | 148 | else if (ch & UART011_DR_FE) |
150 | uap->port.icount.frame++; | 149 | uap->port.icount.frame++; |
151 | if (rsr & UART01x_RSR_OE) | 150 | if (ch & UART011_DR_OE) |
152 | uap->port.icount.overrun++; | 151 | uap->port.icount.overrun++; |
153 | 152 | ||
154 | rsr &= uap->port.read_status_mask; | 153 | ch &= uap->port.read_status_mask; |
155 | 154 | ||
156 | if (rsr & UART01x_RSR_BE) | 155 | if (ch & UART011_DR_BE) |
157 | flag = TTY_BREAK; | 156 | flag = TTY_BREAK; |
158 | else if (rsr & UART01x_RSR_PE) | 157 | else if (ch & UART011_DR_PE) |
159 | flag = TTY_PARITY; | 158 | flag = TTY_PARITY; |
160 | else if (rsr & UART01x_RSR_FE) | 159 | else if (ch & UART011_DR_FE) |
161 | flag = TTY_FRAME; | 160 | flag = TTY_FRAME; |
162 | } | 161 | } |
163 | 162 | ||
164 | if (uart_handle_sysrq_char(&uap->port, ch, regs)) | 163 | if (uart_handle_sysrq_char(&uap->port, ch, regs)) |
165 | goto ignore_char; | 164 | goto ignore_char; |
166 | 165 | ||
167 | uart_insert_char(&uap->port, rsr, UART01x_RSR_OE, ch, flag); | 166 | uart_insert_char(&uap->port, ch, UART011_DR_OE, ch, flag); |
168 | 167 | ||
169 | ignore_char: | 168 | ignore_char: |
170 | status = readw(uap->port.membase + UART01x_FR); | 169 | status = readw(uap->port.membase + UART01x_FR); |
@@ -476,33 +475,33 @@ pl011_set_termios(struct uart_port *port, struct termios *termios, | |||
476 | */ | 475 | */ |
477 | uart_update_timeout(port, termios->c_cflag, baud); | 476 | uart_update_timeout(port, termios->c_cflag, baud); |
478 | 477 | ||
479 | port->read_status_mask = UART01x_RSR_OE; | 478 | port->read_status_mask = UART011_DR_OE | 255; |
480 | if (termios->c_iflag & INPCK) | 479 | if (termios->c_iflag & INPCK) |
481 | port->read_status_mask |= UART01x_RSR_FE | UART01x_RSR_PE; | 480 | port->read_status_mask |= UART011_DR_FE | UART011_DR_PE; |
482 | if (termios->c_iflag & (BRKINT | PARMRK)) | 481 | if (termios->c_iflag & (BRKINT | PARMRK)) |
483 | port->read_status_mask |= UART01x_RSR_BE; | 482 | port->read_status_mask |= UART011_DR_BE; |
484 | 483 | ||
485 | /* | 484 | /* |
486 | * Characters to ignore | 485 | * Characters to ignore |
487 | */ | 486 | */ |
488 | port->ignore_status_mask = 0; | 487 | port->ignore_status_mask = 0; |
489 | if (termios->c_iflag & IGNPAR) | 488 | if (termios->c_iflag & IGNPAR) |
490 | port->ignore_status_mask |= UART01x_RSR_FE | UART01x_RSR_PE; | 489 | port->ignore_status_mask |= UART011_DR_FE | UART011_DR_PE; |
491 | if (termios->c_iflag & IGNBRK) { | 490 | if (termios->c_iflag & IGNBRK) { |
492 | port->ignore_status_mask |= UART01x_RSR_BE; | 491 | port->ignore_status_mask |= UART011_DR_BE; |
493 | /* | 492 | /* |
494 | * If we're ignoring parity and break indicators, | 493 | * If we're ignoring parity and break indicators, |
495 | * ignore overruns too (for real raw support). | 494 | * ignore overruns too (for real raw support). |
496 | */ | 495 | */ |
497 | if (termios->c_iflag & IGNPAR) | 496 | if (termios->c_iflag & IGNPAR) |
498 | port->ignore_status_mask |= UART01x_RSR_OE; | 497 | port->ignore_status_mask |= UART011_DR_OE; |
499 | } | 498 | } |
500 | 499 | ||
501 | /* | 500 | /* |
502 | * Ignore all characters if CREAD is not set. | 501 | * Ignore all characters if CREAD is not set. |
503 | */ | 502 | */ |
504 | if ((termios->c_cflag & CREAD) == 0) | 503 | if ((termios->c_cflag & CREAD) == 0) |
505 | port->ignore_status_mask |= UART_DUMMY_RSR_RX; | 504 | port->ignore_status_mask |= UART_DUMMY_DR_RX; |
506 | 505 | ||
507 | if (UART_ENABLE_MS(port, termios->c_cflag)) | 506 | if (UART_ENABLE_MS(port, termios->c_cflag)) |
508 | pl011_enable_ms(port); | 507 | pl011_enable_ms(port); |
diff --git a/drivers/serial/sa1100.c b/drivers/serial/sa1100.c index 0e3daf6d7b50..25a086458ab9 100644 --- a/drivers/serial/sa1100.c +++ b/drivers/serial/sa1100.c | |||
@@ -161,7 +161,6 @@ static void sa1100_stop_tx(struct uart_port *port) | |||
161 | static void sa1100_start_tx(struct uart_port *port) | 161 | static void sa1100_start_tx(struct uart_port *port) |
162 | { | 162 | { |
163 | struct sa1100_port *sport = (struct sa1100_port *)port; | 163 | struct sa1100_port *sport = (struct sa1100_port *)port; |
164 | unsigned long flags; | ||
165 | u32 utcr3; | 164 | u32 utcr3; |
166 | 165 | ||
167 | utcr3 = UART_GET_UTCR3(sport); | 166 | utcr3 = UART_GET_UTCR3(sport); |