]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 11 Jul 2013 01:15:41 +0000 (18:15 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 11 Jul 2013 01:15:41 +0000 (18:15 -0700)
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()

drivers/ide/delkin_cb.c
drivers/ide/gayle.c
drivers/ide/ide-taskfile.c
drivers/ide/tx4938ide.c
drivers/ide/tx4939ide.c

index 7e27d3295e55e06bbdbbb15ea922756bbe48b775..300daabaa5753a46fa8226d3ce313865d225a753 100644 (file)
@@ -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");
index 51beb85250d4400a06e90eca0b4f539825cc7438..0a8440ae05656569a9694f7bdb9f8406118ac785 100644 (file)
@@ -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");
index 729428edeba26c4fca4ddfde7c9615f76a0c76b5..dabb88b1cbec69052d32eb5e84b7f647534a4599 100644 (file)
@@ -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);
index 91d49dd957ef634f02a6c9657afe236524d3a936..ede8575ac7d5d12e9d8fe1c20d3d2a9ab2cde013 100644 (file)
@@ -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");
index c0ab800b7bb34f228cc6488a966cfad588c1f765..4ecdee5eca83d283feba4e25f70609745f25d00c 100644 (file)
@@ -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");