diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-10 18:15:41 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-10 18:15:41 -0700 |
commit | 4ece92df296f472e49d26ee38ddbed4596458132 (patch) | |
tree | 0b2960114194d20769273dadb0bf2897c8e0206a /drivers/ide | |
parent | 75fcf64dc7180a6258dbefd671edb9d86a38d22f (diff) | |
parent | 1581208b2f0643eebfa7a3fbe5bad831c0bb7f0e (diff) | |
download | linux-stable-4ece92df296f472e49d26ee38ddbed4596458132.tar.gz linux-stable-4ece92df296f472e49d26ee38ddbed4596458132.tar.bz2 linux-stable-4ece92df296f472e49d26ee38ddbed4596458132.zip |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide
Pull IDE updates from David Miller:
"Just a few small things:
1) module_platform_driver_probe() conversions from Jingoo Han.
2) module_pci_driver() conversion from Libo Chen.
3) PIO size calculation fix from Steven J Hill"
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide:
ide: Fix IDE PIO size calculation
drivers/ide/delkin_cb: Convert to module_pci_driver
ide: gayle: use module_platform_driver_probe()
ide: tx4939ide: use module_platform_driver_probe()
ide: tx4938ide: use module_platform_driver_probe()
Diffstat (limited to 'drivers/ide')
-rw-r--r-- | drivers/ide/delkin_cb.c | 13 | ||||
-rw-r--r-- | drivers/ide/gayle.c | 15 | ||||
-rw-r--r-- | drivers/ide/ide-taskfile.c | 5 | ||||
-rw-r--r-- | drivers/ide/tx4938ide.c | 13 | ||||
-rw-r--r-- | drivers/ide/tx4939ide.c | 13 |
5 files changed, 6 insertions, 53 deletions
diff --git a/drivers/ide/delkin_cb.c b/drivers/ide/delkin_cb.c index 7e27d3295e55..300daabaa575 100644 --- a/drivers/ide/delkin_cb.c +++ b/drivers/ide/delkin_cb.c @@ -173,18 +173,7 @@ static struct pci_driver delkin_cb_pci_driver = { .resume = delkin_cb_resume, }; -static int __init delkin_cb_init(void) -{ - return pci_register_driver(&delkin_cb_pci_driver); -} - -static void __exit delkin_cb_exit(void) -{ - pci_unregister_driver(&delkin_cb_pci_driver); -} - -module_init(delkin_cb_init); -module_exit(delkin_cb_exit); +module_pci_driver(delkin_cb_pci_driver); MODULE_AUTHOR("Mark Lord"); MODULE_DESCRIPTION("Basic support for Delkin/ASKA/Workbit Cardbus IDE"); diff --git a/drivers/ide/gayle.c b/drivers/ide/gayle.c index 51beb85250d4..0a8440ae0565 100644 --- a/drivers/ide/gayle.c +++ b/drivers/ide/gayle.c @@ -183,20 +183,7 @@ static struct platform_driver amiga_gayle_ide_driver = { }, }; -static int __init amiga_gayle_ide_init(void) -{ - return platform_driver_probe(&amiga_gayle_ide_driver, - amiga_gayle_ide_probe); -} - -module_init(amiga_gayle_ide_init); - -static void __exit amiga_gayle_ide_exit(void) -{ - platform_driver_unregister(&amiga_gayle_ide_driver); -} - -module_exit(amiga_gayle_ide_exit); +module_platform_driver_probe(amiga_gayle_ide_driver, amiga_gayle_ide_probe); MODULE_LICENSE("GPL"); MODULE_ALIAS("platform:amiga-gayle-ide"); diff --git a/drivers/ide/ide-taskfile.c b/drivers/ide/ide-taskfile.c index 729428edeba2..dabb88b1cbec 100644 --- a/drivers/ide/ide-taskfile.c +++ b/drivers/ide/ide-taskfile.c @@ -239,9 +239,6 @@ void ide_pio_bytes(ide_drive_t *drive, struct ide_cmd *cmd, unsigned nr_bytes = min(len, cursg->length - cmd->cursg_ofs); int page_is_high; - if (nr_bytes > PAGE_SIZE) - nr_bytes = PAGE_SIZE; - page = sg_page(cursg); offset = cursg->offset + cmd->cursg_ofs; @@ -249,6 +246,8 @@ void ide_pio_bytes(ide_drive_t *drive, struct ide_cmd *cmd, page = nth_page(page, (offset >> PAGE_SHIFT)); offset %= PAGE_SIZE; + nr_bytes = min_t(unsigned, nr_bytes, (PAGE_SIZE - offset)); + page_is_high = PageHighMem(page); if (page_is_high) local_irq_save(flags); diff --git a/drivers/ide/tx4938ide.c b/drivers/ide/tx4938ide.c index 91d49dd957ef..ede8575ac7d5 100644 --- a/drivers/ide/tx4938ide.c +++ b/drivers/ide/tx4938ide.c @@ -203,18 +203,7 @@ static struct platform_driver tx4938ide_driver = { .remove = __exit_p(tx4938ide_remove), }; -static int __init tx4938ide_init(void) -{ - return platform_driver_probe(&tx4938ide_driver, tx4938ide_probe); -} - -static void __exit tx4938ide_exit(void) -{ - platform_driver_unregister(&tx4938ide_driver); -} - -module_init(tx4938ide_init); -module_exit(tx4938ide_exit); +module_platform_driver_probe(tx4938ide_driver, tx4938ide_probe); MODULE_DESCRIPTION("TX4938 internal IDE driver"); MODULE_LICENSE("GPL"); diff --git a/drivers/ide/tx4939ide.c b/drivers/ide/tx4939ide.c index c0ab800b7bb3..4ecdee5eca83 100644 --- a/drivers/ide/tx4939ide.c +++ b/drivers/ide/tx4939ide.c @@ -624,18 +624,7 @@ static struct platform_driver tx4939ide_driver = { .resume = tx4939ide_resume, }; -static int __init tx4939ide_init(void) -{ - return platform_driver_probe(&tx4939ide_driver, tx4939ide_probe); -} - -static void __exit tx4939ide_exit(void) -{ - platform_driver_unregister(&tx4939ide_driver); -} - -module_init(tx4939ide_init); -module_exit(tx4939ide_exit); +module_platform_driver_probe(tx4939ide_driver, tx4939ide_probe); MODULE_DESCRIPTION("TX4939 internal IDE driver"); MODULE_LICENSE("GPL"); |