Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[DRIVER MODEL] Convert platform drivers to use struct platform_driver

This allows us to eliminate the casts in the drivers, and eventually
remove the use of the device_driver function pointer methods for
platform device drivers.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>

authored by

Russell King and committed by
Russell King
3ae5eaec 00d3dcdd

+1413 -1416
+19 -19
arch/arm/common/locomo.c
··· 550 550 u16 LCM_SPIMD; 551 551 }; 552 552 553 - static int locomo_suspend(struct device *dev, pm_message_t state) 553 + static int locomo_suspend(struct platform_device *dev, pm_message_t state) 554 554 { 555 - struct locomo *lchip = dev_get_drvdata(dev); 555 + struct locomo *lchip = platform_get_drvdata(dev); 556 556 struct locomo_save_data *save; 557 557 unsigned long flags; 558 558 ··· 560 560 if (!save) 561 561 return -ENOMEM; 562 562 563 - dev->power.saved_state = (void *) save; 563 + dev->dev.power.saved_state = (void *) save; 564 564 565 565 spin_lock_irqsave(&lchip->lock, flags); 566 566 ··· 594 594 return 0; 595 595 } 596 596 597 - static int locomo_resume(struct device *dev) 597 + static int locomo_resume(struct platform_device *dev) 598 598 { 599 - struct locomo *lchip = dev_get_drvdata(dev); 599 + struct locomo *lchip = platform_get_drvdata(dev); 600 600 struct locomo_save_data *save; 601 601 unsigned long r; 602 602 unsigned long flags; 603 603 604 - save = (struct locomo_save_data *) dev->power.saved_state; 604 + save = (struct locomo_save_data *) dev->dev.power.saved_state; 605 605 if (!save) 606 606 return 0; 607 607 ··· 760 760 kfree(lchip); 761 761 } 762 762 763 - static int locomo_probe(struct device *dev) 763 + static int locomo_probe(struct platform_device *dev) 764 764 { 765 - struct platform_device *pdev = to_platform_device(dev); 766 765 struct resource *mem; 767 766 int irq; 768 767 769 - mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); 768 + mem = platform_get_resource(dev, IORESOURCE_MEM, 0); 770 769 if (!mem) 771 770 return -EINVAL; 772 - irq = platform_get_irq(pdev, 0); 771 + irq = platform_get_irq(dev, 0); 773 772 774 - return __locomo_probe(dev, mem, irq); 773 + return __locomo_probe(&dev->dev, mem, irq); 775 774 } 776 775 777 - static int locomo_remove(struct device *dev) 776 + static int locomo_remove(struct platform_device *dev) 778 777 { 779 - struct locomo *lchip = dev_get_drvdata(dev); 778 + struct locomo *lchip = platform__get_drvdata(dev); 780 779 781 780 if (lchip) { 782 781 __locomo_remove(lchip); 783 - dev_set_drvdata(dev, NULL); 782 + platform_set_drvdata(dev, NULL); 784 783 } 785 784 786 785 return 0; ··· 791 792 * the per-machine level, and then have this driver pick 792 793 * up the registered devices. 793 794 */ 794 - static struct device_driver locomo_device_driver = { 795 - .name = "locomo", 796 - .bus = &platform_bus_type, 795 + static struct platform_driver locomo_device_driver = { 797 796 .probe = locomo_probe, 798 797 .remove = locomo_remove, 799 798 #ifdef CONFIG_PM 800 799 .suspend = locomo_suspend, 801 800 .resume = locomo_resume, 802 801 #endif 802 + .driver = { 803 + .name = "locomo", 804 + }, 803 805 }; 804 806 805 807 /* ··· 1126 1126 { 1127 1127 int ret = bus_register(&locomo_bus_type); 1128 1128 if (ret == 0) 1129 - driver_register(&locomo_device_driver); 1129 + platform_driver_register(&locomo_device_driver); 1130 1130 return ret; 1131 1131 } 1132 1132 1133 1133 static void __exit locomo_exit(void) 1134 1134 { 1135 - driver_unregister(&locomo_device_driver); 1135 + platform_driver_unregister(&locomo_device_driver); 1136 1136 bus_unregister(&locomo_bus_type); 1137 1137 } 1138 1138
+21 -21
arch/arm/common/sa1111.c
··· 801 801 802 802 #ifdef CONFIG_PM 803 803 804 - static int sa1111_suspend(struct device *dev, pm_message_t state) 804 + static int sa1111_suspend(struct platform_device *dev, pm_message_t state) 805 805 { 806 - struct sa1111 *sachip = dev_get_drvdata(dev); 806 + struct sa1111 *sachip = platform_get_drvdata(dev); 807 807 struct sa1111_save_data *save; 808 808 unsigned long flags; 809 809 unsigned int val; ··· 812 812 save = kmalloc(sizeof(struct sa1111_save_data), GFP_KERNEL); 813 813 if (!save) 814 814 return -ENOMEM; 815 - dev->power.saved_state = save; 815 + dev->dev.power.saved_state = save; 816 816 817 817 spin_lock_irqsave(&sachip->lock, flags); 818 818 ··· 859 859 * restored by their respective drivers, and must be called 860 860 * via LDM after this function. 861 861 */ 862 - static int sa1111_resume(struct device *dev) 862 + static int sa1111_resume(struct platform_device *dev) 863 863 { 864 - struct sa1111 *sachip = dev_get_drvdata(dev); 864 + struct sa1111 *sachip = platform_get_drvdata(dev); 865 865 struct sa1111_save_data *save; 866 866 unsigned long flags, id; 867 867 void __iomem *base; 868 868 869 - save = (struct sa1111_save_data *)dev->power.saved_state; 869 + save = (struct sa1111_save_data *)dev->dev.power.saved_state; 870 870 if (!save) 871 871 return 0; 872 872 ··· 879 879 id = sa1111_readl(sachip->base + SA1111_SKID); 880 880 if ((id & SKID_ID_MASK) != SKID_SA1111_ID) { 881 881 __sa1111_remove(sachip); 882 - dev_set_drvdata(dev, NULL); 882 + platform_set_drvdata(dev, NULL); 883 883 kfree(save); 884 884 return 0; 885 885 } ··· 911 911 912 912 spin_unlock_irqrestore(&sachip->lock, flags); 913 913 914 - dev->power.saved_state = NULL; 914 + dev->dev.power.saved_state = NULL; 915 915 kfree(save); 916 916 917 917 return 0; ··· 922 922 #define sa1111_resume NULL 923 923 #endif 924 924 925 - static int sa1111_probe(struct device *dev) 925 + static int sa1111_probe(struct platform_device *pdev) 926 926 { 927 - struct platform_device *pdev = to_platform_device(dev); 928 927 struct resource *mem; 929 928 int irq; 930 929 ··· 932 933 return -EINVAL; 933 934 irq = platform_get_irq(pdev, 0); 934 935 935 - return __sa1111_probe(dev, mem, irq); 936 + return __sa1111_probe(&pdev->dev, mem, irq); 936 937 } 937 938 938 - static int sa1111_remove(struct device *dev) 939 + static int sa1111_remove(struct platform_device *pdev) 939 940 { 940 - struct sa1111 *sachip = dev_get_drvdata(dev); 941 + struct sa1111 *sachip = platform_get_drvdata(pdev); 941 942 942 943 if (sachip) { 943 944 __sa1111_remove(sachip); 944 - dev_set_drvdata(dev, NULL); 945 + platform_set_drvdata(pdev, NULL); 945 946 946 947 #ifdef CONFIG_PM 947 - kfree(dev->power.saved_state); 948 - dev->power.saved_state = NULL; 948 + kfree(pdev->dev.power.saved_state); 949 + pdev->dev.power.saved_state = NULL; 949 950 #endif 950 951 } 951 952 ··· 961 962 * We also need to handle the SDRAM configuration for 962 963 * PXA250/SA1110 machine classes. 963 964 */ 964 - static struct device_driver sa1111_device_driver = { 965 - .name = "sa1111", 966 - .bus = &platform_bus_type, 965 + static struct platform_driver sa1111_device_driver = { 967 966 .probe = sa1111_probe, 968 967 .remove = sa1111_remove, 969 968 .suspend = sa1111_suspend, 970 969 .resume = sa1111_resume, 970 + .driver = { 971 + .name = "sa1111", 972 + }, 971 973 }; 972 974 973 975 /* ··· 1256 1256 { 1257 1257 int ret = bus_register(&sa1111_bus_type); 1258 1258 if (ret == 0) 1259 - driver_register(&sa1111_device_driver); 1259 + platform_driver_register(&sa1111_device_driver); 1260 1260 return ret; 1261 1261 } 1262 1262 1263 1263 static void __exit sa1111_exit(void) 1264 1264 { 1265 - driver_unregister(&sa1111_device_driver); 1265 + platform_driver_unregister(&sa1111_device_driver); 1266 1266 bus_unregister(&sa1111_bus_type); 1267 1267 } 1268 1268
+15 -15
arch/arm/common/scoop.c
··· 98 98 } 99 99 100 100 #ifdef CONFIG_PM 101 - static int scoop_suspend(struct device *dev, pm_message_t state) 101 + static int scoop_suspend(struct platform_device *dev, pm_message_t state) 102 102 { 103 - struct scoop_dev *sdev = dev_get_drvdata(dev); 103 + struct scoop_dev *sdev = platform_get_drvdata(dev); 104 104 105 105 check_scoop_reg(sdev); 106 106 sdev->scoop_gpwr = SCOOP_REG(sdev->base, SCOOP_GPWR); ··· 109 109 return 0; 110 110 } 111 111 112 - static int scoop_resume(struct device *dev) 112 + static int scoop_resume(struct platform_device *dev) 113 113 { 114 - struct scoop_dev *sdev = dev_get_drvdata(dev); 114 + struct scoop_dev *sdev = platform_get_drvdata(dev); 115 115 116 116 check_scoop_reg(sdev); 117 117 SCOOP_REG(sdev->base,SCOOP_GPWR) = sdev->scoop_gpwr; ··· 123 123 #define scoop_resume NULL 124 124 #endif 125 125 126 - int __init scoop_probe(struct device *dev) 126 + int __init scoop_probe(struct platform_device *pdev) 127 127 { 128 128 struct scoop_dev *devptr; 129 129 struct scoop_config *inf; 130 - struct platform_device *pdev = to_platform_device(dev); 131 130 struct resource *mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); 132 131 133 132 if (!mem) ··· 140 141 memset(devptr, 0, sizeof(struct scoop_dev)); 141 142 spin_lock_init(&devptr->scoop_lock); 142 143 143 - inf = dev->platform_data; 144 + inf = pdev->dev.platform_data; 144 145 devptr->base = ioremap(mem->start, mem->end - mem->start + 1); 145 146 146 147 if (!devptr->base) { ··· 148 149 return -ENOMEM; 149 150 } 150 151 151 - dev_set_drvdata(dev, devptr); 152 + platform_set_drvdata(pdev, devptr); 152 153 153 154 printk("Sharp Scoop Device found at 0x%08x -> 0x%08x\n",(unsigned int)mem->start,(unsigned int)devptr->base); 154 155 ··· 163 164 return 0; 164 165 } 165 166 166 - static int scoop_remove(struct device *dev) 167 + static int scoop_remove(struct platform_device *pdev) 167 168 { 168 - struct scoop_dev *sdev = dev_get_drvdata(dev); 169 + struct scoop_dev *sdev = platform_get_drvdata(pdev); 169 170 if (sdev) { 170 171 iounmap(sdev->base); 171 172 kfree(sdev); 172 - dev_set_drvdata(dev, NULL); 173 + platform_set_drvdata(pdev, NULL); 173 174 } 174 175 return 0; 175 176 } 176 177 177 - static struct device_driver scoop_driver = { 178 - .name = "sharp-scoop", 179 - .bus = &platform_bus_type, 178 + static struct platform_driver scoop_driver = { 180 179 .probe = scoop_probe, 181 180 .remove = scoop_remove, 182 181 .suspend = scoop_suspend, 183 182 .resume = scoop_resume, 183 + .driver = { 184 + .name = "sharp-scoop", 185 + }, 184 186 }; 185 187 186 188 int __init scoop_init(void) 187 189 { 188 - return driver_register(&scoop_driver); 190 + return platform_driver_register(&scoop_driver); 189 191 } 190 192 191 193 subsys_initcall(scoop_init);
+9 -8
arch/arm/mach-pxa/corgi_ssp.c
··· 191 191 ssp_machinfo = machinfo; 192 192 } 193 193 194 - static int __init corgi_ssp_probe(struct device *dev) 194 + static int __init corgi_ssp_probe(struct platform_device *dev) 195 195 { 196 196 int ret; 197 197 ··· 216 216 return ret; 217 217 } 218 218 219 - static int corgi_ssp_remove(struct device *dev) 219 + static int corgi_ssp_remove(struct platform_device *dev) 220 220 { 221 221 ssp_exit(&corgi_ssp_dev); 222 222 return 0; 223 223 } 224 224 225 - static int corgi_ssp_suspend(struct device *dev, pm_message_t state) 225 + static int corgi_ssp_suspend(struct platform_device *dev, pm_message_t state) 226 226 { 227 227 ssp_flush(&corgi_ssp_dev); 228 228 ssp_save_state(&corgi_ssp_dev,&corgi_ssp_state); ··· 230 230 return 0; 231 231 } 232 232 233 - static int corgi_ssp_resume(struct device *dev) 233 + static int corgi_ssp_resume(struct platform_device *dev) 234 234 { 235 235 GPSR(ssp_machinfo->cs_lcdcon) = GPIO_bit(ssp_machinfo->cs_lcdcon); /* High - Disable LCD Control/Timing Gen */ 236 236 GPSR(ssp_machinfo->cs_max1111) = GPIO_bit(ssp_machinfo->cs_max1111); /* High - Disable MAX1111*/ ··· 241 241 return 0; 242 242 } 243 243 244 - static struct device_driver corgissp_driver = { 245 - .name = "corgi-ssp", 246 - .bus = &platform_bus_type, 244 + static struct platform_driver corgissp_driver = { 247 245 .probe = corgi_ssp_probe, 248 246 .remove = corgi_ssp_remove, 249 247 .suspend = corgi_ssp_suspend, 250 248 .resume = corgi_ssp_resume, 249 + .driver = { 250 + .name = "corgi-ssp", 251 + }, 251 252 }; 252 253 253 254 int __init corgi_ssp_init(void) 254 255 { 255 - return driver_register(&corgissp_driver); 256 + return platform_driver_register(&corgissp_driver); 256 257 } 257 258 258 259 arch_initcall(corgi_ssp_init);
+16 -15
arch/arm/mach-sa1100/neponset.c
··· 137 137 .get_mctrl = neponset_get_mctrl, 138 138 }; 139 139 140 - static int neponset_probe(struct device *dev) 140 + static int neponset_probe(struct platform_device *dev) 141 141 { 142 142 sa1100_register_uart_fns(&neponset_port_fns); 143 143 ··· 178 178 /* 179 179 * LDM power management. 180 180 */ 181 - static int neponset_suspend(struct device *dev, pm_message_t state) 181 + static int neponset_suspend(struct platform_device *dev, pm_message_t state) 182 182 { 183 183 /* 184 184 * Save state. 185 185 */ 186 - if (!dev->power.saved_state) 187 - dev->power.saved_state = kmalloc(sizeof(unsigned int), GFP_KERNEL); 188 - if (!dev->power.saved_state) 186 + if (!dev->dev.power.saved_state) 187 + dev->dev.power.saved_state = kmalloc(sizeof(unsigned int), GFP_KERNEL); 188 + if (!dev->dev.power.saved_state) 189 189 return -ENOMEM; 190 190 191 - *(unsigned int *)dev->power.saved_state = NCR_0; 191 + *(unsigned int *)dev->dev.power.saved_state = NCR_0; 192 192 193 193 return 0; 194 194 } 195 195 196 - static int neponset_resume(struct device *dev) 196 + static int neponset_resume(struct platform_device *dev) 197 197 { 198 - if (dev->power.saved_state) { 199 - NCR_0 = *(unsigned int *)dev->power.saved_state; 200 - kfree(dev->power.saved_state); 201 - dev->power.saved_state = NULL; 198 + if (dev->dev.power.saved_state) { 199 + NCR_0 = *(unsigned int *)dev->dev.power.saved_state; 200 + kfree(dev->dev.power.saved_state); 201 + dev->dev.power.saved_state = NULL; 202 202 } 203 203 204 204 return 0; ··· 209 209 #define neponset_resume NULL 210 210 #endif 211 211 212 - static struct device_driver neponset_device_driver = { 213 - .name = "neponset", 214 - .bus = &platform_bus_type, 212 + static struct platform_driver neponset_device_driver = { 215 213 .probe = neponset_probe, 216 214 .suspend = neponset_suspend, 217 215 .resume = neponset_resume, 216 + .driver = { 217 + .name = "neponset", 218 + }, 218 219 }; 219 220 220 221 static struct resource neponset_resources[] = { ··· 294 293 295 294 static int __init neponset_init(void) 296 295 { 297 - driver_register(&neponset_device_driver); 296 + platform_driver_register(&neponset_device_driver); 298 297 299 298 /* 300 299 * The Neponset is only present on the Assabet machine type.
+5 -4
arch/um/drivers/net_kern.c
··· 284 284 static DEFINE_SPINLOCK(devices_lock); 285 285 static struct list_head devices = LIST_HEAD_INIT(devices); 286 286 287 - static struct device_driver uml_net_driver = { 288 - .name = DRIVER_NAME, 289 - .bus = &platform_bus_type, 287 + static struct platform_driver uml_net_driver = { 288 + .driver = { 289 + .name = DRIVER_NAME, 290 + }, 290 291 }; 291 292 static int driver_registered; 292 293 ··· 334 333 335 334 /* sysfs register */ 336 335 if (!driver_registered) { 337 - driver_register(&uml_net_driver); 336 + platform_driver_register(&uml_net_driver); 338 337 driver_registered = 1; 339 338 } 340 339 device->pdev.id = n;
+5 -4
arch/um/drivers/ubd_kern.c
··· 823 823 824 824 __initcall(ubd_mc_init); 825 825 826 - static struct device_driver ubd_driver = { 827 - .name = DRIVER_NAME, 828 - .bus = &platform_bus_type, 826 + static struct platform_driver ubd_driver = { 827 + .driver = { 828 + .name = DRIVER_NAME, 829 + }, 829 830 }; 830 831 831 832 int ubd_init(void) ··· 851 850 if (register_blkdev(fake_major, "ubd")) 852 851 return -1; 853 852 } 854 - driver_register(&ubd_driver); 853 + platform_driver_register(&ubd_driver); 855 854 for (i = 0; i < MAX_DEV; i++) 856 855 ubd_add(i); 857 856 return 0;
+5 -4
arch/xtensa/platform-iss/network.c
··· 648 648 } 649 649 650 650 651 - static struct device_driver iss_net_driver = { 652 - .name = DRIVER_NAME, 653 - .bus = &platform_bus_type, 651 + static struct platform_driver iss_net_driver = { 652 + .driver = { 653 + .name = DRIVER_NAME, 654 + }, 654 655 }; 655 656 656 657 static int driver_registered; ··· 702 701 /* sysfs register */ 703 702 704 703 if (!driver_registered) { 705 - driver_register(&iss_net_driver); 704 + platform_driver_register(&iss_net_driver); 706 705 driver_registered = 1; 707 706 } 708 707
+25 -25
drivers/char/s3c2410-rtc.c
··· 382 382 .proc = s3c2410_rtc_proc, 383 383 }; 384 384 385 - static void s3c2410_rtc_enable(struct device *dev, int en) 385 + static void s3c2410_rtc_enable(struct platform_device *pdev, int en) 386 386 { 387 387 unsigned int tmp; 388 388 ··· 399 399 /* re-enable the device, and check it is ok */ 400 400 401 401 if ((readb(S3C2410_RTCCON) & S3C2410_RTCCON_RTCEN) == 0){ 402 - dev_info(dev, "rtc disabled, re-enabling\n"); 402 + dev_info(&pdev->dev, "rtc disabled, re-enabling\n"); 403 403 404 404 tmp = readb(S3C2410_RTCCON); 405 405 writeb(tmp | S3C2410_RTCCON_RTCEN , S3C2410_RTCCON); 406 406 } 407 407 408 408 if ((readb(S3C2410_RTCCON) & S3C2410_RTCCON_CNTSEL)){ 409 - dev_info(dev, "removing S3C2410_RTCCON_CNTSEL\n"); 409 + dev_info(&pdev->dev, "removing S3C2410_RTCCON_CNTSEL\n"); 410 410 411 411 tmp = readb(S3C2410_RTCCON); 412 412 writeb(tmp& ~S3C2410_RTCCON_CNTSEL , S3C2410_RTCCON); 413 413 } 414 414 415 415 if ((readb(S3C2410_RTCCON) & S3C2410_RTCCON_CLKRST)){ 416 - dev_info(dev, "removing S3C2410_RTCCON_CLKRST\n"); 416 + dev_info(&pdev->dev, "removing S3C2410_RTCCON_CLKRST\n"); 417 417 418 418 tmp = readb(S3C2410_RTCCON); 419 419 writeb(tmp & ~S3C2410_RTCCON_CLKRST, S3C2410_RTCCON); ··· 421 421 } 422 422 } 423 423 424 - static int s3c2410_rtc_remove(struct device *dev) 424 + static int s3c2410_rtc_remove(struct platform_device *dev) 425 425 { 426 426 unregister_rtc(&s3c2410_rtcops); 427 427 ··· 438 438 return 0; 439 439 } 440 440 441 - static int s3c2410_rtc_probe(struct device *dev) 441 + static int s3c2410_rtc_probe(struct platform_device *pdev) 442 442 { 443 - struct platform_device *pdev = to_platform_device(dev); 444 443 struct resource *res; 445 444 int ret; 446 445 447 - pr_debug("%s: probe=%p, device=%p\n", __FUNCTION__, pdev, dev); 446 + pr_debug("%s: probe=%p\n", __FUNCTION__, pdev); 448 447 449 448 /* find the IRQs */ 450 449 451 450 s3c2410_rtc_tickno = platform_get_irq(pdev, 1); 452 451 if (s3c2410_rtc_tickno <= 0) { 453 - dev_err(dev, "no irq for rtc tick\n"); 452 + dev_err(&pdev->dev, "no irq for rtc tick\n"); 454 453 return -ENOENT; 455 454 } 456 455 457 456 s3c2410_rtc_alarmno = platform_get_irq(pdev, 0); 458 457 if (s3c2410_rtc_alarmno <= 0) { 459 - dev_err(dev, "no irq for alarm\n"); 458 + dev_err(&pdev->dev, "no irq for alarm\n"); 460 459 return -ENOENT; 461 460 } 462 461 ··· 466 467 467 468 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 468 469 if (res == NULL) { 469 - dev_err(dev, "failed to get memory region resource\n"); 470 + dev_err(&pdev->dev, "failed to get memory region resource\n"); 470 471 return -ENOENT; 471 472 } 472 473 ··· 474 475 pdev->name); 475 476 476 477 if (s3c2410_rtc_mem == NULL) { 477 - dev_err(dev, "failed to reserve memory region\n"); 478 + dev_err(&pdev->dev, "failed to reserve memory region\n"); 478 479 ret = -ENOENT; 479 480 goto exit_err; 480 481 } 481 482 482 483 s3c2410_rtc_base = ioremap(res->start, res->end - res->start + 1); 483 484 if (s3c2410_rtc_base == NULL) { 484 - dev_err(dev, "failed ioremap()\n"); 485 + dev_err(&pdev->dev, "failed ioremap()\n"); 485 486 ret = -EINVAL; 486 487 goto exit_err; 487 488 } ··· 493 494 494 495 /* check to see if everything is setup correctly */ 495 496 496 - s3c2410_rtc_enable(dev, 1); 497 + s3c2410_rtc_enable(pdev, 1); 497 498 498 499 pr_debug("s3c2410_rtc: RTCCON=%02x\n", readb(S3C2410_RTCCON)); 499 500 ··· 505 506 return 0; 506 507 507 508 exit_err: 508 - dev_err(dev, "error %d during initialisation\n", ret); 509 + dev_err(&pdev->dev, "error %d during initialisation\n", ret); 509 510 510 511 return ret; 511 512 } ··· 518 519 519 520 static int ticnt_save; 520 521 521 - static int s3c2410_rtc_suspend(struct device *dev, pm_message_t state) 522 + static int s3c2410_rtc_suspend(struct platform_device *pdev, pm_message_t state) 522 523 { 523 524 struct rtc_time tm; 524 525 struct timespec time; ··· 534 535 s3c2410_rtc_gettime(&tm); 535 536 rtc_tm_to_time(&tm, &time.tv_sec); 536 537 save_time_delta(&s3c2410_rtc_delta, &time); 537 - s3c2410_rtc_enable(dev, 0); 538 + s3c2410_rtc_enable(pdev, 0); 538 539 539 540 return 0; 540 541 } 541 542 542 - static int s3c2410_rtc_resume(struct device *dev) 543 + static int s3c2410_rtc_resume(struct platform_device *pdev) 543 544 { 544 545 struct rtc_time tm; 545 546 struct timespec time; 546 547 547 548 time.tv_nsec = 0; 548 549 549 - s3c2410_rtc_enable(dev, 1); 550 + s3c2410_rtc_enable(pdev, 1); 550 551 s3c2410_rtc_gettime(&tm); 551 552 rtc_tm_to_time(&tm, &time.tv_sec); 552 553 restore_time_delta(&s3c2410_rtc_delta, &time); ··· 559 560 #define s3c2410_rtc_resume NULL 560 561 #endif 561 562 562 - static struct device_driver s3c2410_rtcdrv = { 563 - .name = "s3c2410-rtc", 564 - .owner = THIS_MODULE, 565 - .bus = &platform_bus_type, 563 + static struct platform_driver s3c2410_rtcdrv = { 566 564 .probe = s3c2410_rtc_probe, 567 565 .remove = s3c2410_rtc_remove, 568 566 .suspend = s3c2410_rtc_suspend, 569 567 .resume = s3c2410_rtc_resume, 568 + .driver = { 569 + .name = "s3c2410-rtc", 570 + .owner = THIS_MODULE, 571 + }, 570 572 }; 571 573 572 574 static char __initdata banner[] = "S3C2410 RTC, (c) 2004 Simtec Electronics\n"; ··· 575 575 static int __init s3c2410_rtc_init(void) 576 576 { 577 577 printk(banner); 578 - return driver_register(&s3c2410_rtcdrv); 578 + return platform_driver_register(&s3c2410_rtcdrv); 579 579 } 580 580 581 581 static void __exit s3c2410_rtc_exit(void) 582 582 { 583 - driver_unregister(&s3c2410_rtcdrv); 583 + platform_driver_unregister(&s3c2410_rtcdrv); 584 584 } 585 585 586 586 module_init(s3c2410_rtc_init);
+10 -9
drivers/char/sonypi.c
··· 1168 1168 #ifdef CONFIG_PM 1169 1169 static int old_camera_power; 1170 1170 1171 - static int sonypi_suspend(struct device *dev, pm_message_t state) 1171 + static int sonypi_suspend(struct platform_device *dev, pm_message_t state) 1172 1172 { 1173 1173 old_camera_power = sonypi_device.camera_power; 1174 1174 sonypi_disable(); ··· 1176 1176 return 0; 1177 1177 } 1178 1178 1179 - static int sonypi_resume(struct device *dev) 1179 + static int sonypi_resume(struct platform_device *dev) 1180 1180 { 1181 1181 sonypi_enable(old_camera_power); 1182 1182 return 0; 1183 1183 } 1184 1184 #endif 1185 1185 1186 - static void sonypi_shutdown(struct device *dev) 1186 + static void sonypi_shutdown(struct platform_device *dev) 1187 1187 { 1188 1188 sonypi_disable(); 1189 1189 } 1190 1190 1191 - static struct device_driver sonypi_driver = { 1192 - .name = "sonypi", 1193 - .bus = &platform_bus_type, 1191 + static struct platform_driver sonypi_driver = { 1194 1192 #ifdef CONFIG_PM 1195 1193 .suspend = sonypi_suspend, 1196 1194 .resume = sonypi_resume, 1197 1195 #endif 1198 1196 .shutdown = sonypi_shutdown, 1197 + .driver = { 1198 + .name = "sonypi", 1199 + }, 1199 1200 }; 1200 1201 1201 1202 static int __devinit sonypi_create_input_devices(void) ··· 1456 1455 if (!dmi_check_system(sonypi_dmi_table)) 1457 1456 return -ENODEV; 1458 1457 1459 - ret = driver_register(&sonypi_driver); 1458 + ret = platform_driver_register(&sonypi_driver); 1460 1459 if (ret) 1461 1460 return ret; 1462 1461 1463 1462 ret = sonypi_probe(); 1464 1463 if (ret) 1465 - driver_unregister(&sonypi_driver); 1464 + platform_driver_unregister(&sonypi_driver); 1466 1465 1467 1466 return ret; 1468 1467 } 1469 1468 1470 1469 static void __exit sonypi_exit(void) 1471 1470 { 1472 - driver_unregister(&sonypi_driver); 1471 + platform_driver_unregister(&sonypi_driver); 1473 1472 sonypi_remove(); 1474 1473 } 1475 1474
+8 -7
drivers/char/tb0219.c
··· 283 283 vr41xx_set_irq_level(TB0219_PCI_SLOT3_PIN, IRQ_LEVEL_LOW); 284 284 } 285 285 286 - static int tb0219_probe(struct device *dev) 286 + static int tb0219_probe(struct platform_device *dev) 287 287 { 288 288 int retval; 289 289 ··· 319 319 return 0; 320 320 } 321 321 322 - static int tb0219_remove(struct device *dev) 322 + static int tb0219_remove(struct platform_device *dev) 323 323 { 324 324 _machine_restart = old_machine_restart; 325 325 ··· 333 333 334 334 static struct platform_device *tb0219_platform_device; 335 335 336 - static struct device_driver tb0219_device_driver = { 337 - .name = "TB0219", 338 - .bus = &platform_bus_type, 336 + static struct platform_driver tb0219_device_driver = { 339 337 .probe = tb0219_probe, 340 338 .remove = tb0219_remove, 339 + .driver = { 340 + .name = "TB0219", 341 + }, 341 342 }; 342 343 343 344 static int __devinit tanbac_tb0219_init(void) ··· 349 348 if (IS_ERR(tb0219_platform_device)) 350 349 return PTR_ERR(tb0219_platform_device); 351 350 352 - retval = driver_register(&tb0219_device_driver); 351 + retval = platform_driver_register(&tb0219_device_driver); 353 352 if (retval < 0) 354 353 platform_device_unregister(tb0219_platform_device); 355 354 ··· 358 357 359 358 static void __devexit tanbac_tb0219_exit(void) 360 359 { 361 - driver_unregister(&tb0219_device_driver); 360 + platform_driver_unregister(&tb0219_device_driver); 362 361 363 362 platform_device_unregister(tb0219_platform_device); 364 363 }
+8 -7
drivers/char/vr41xx_giu.c
··· 613 613 .release = gpio_release, 614 614 }; 615 615 616 - static int giu_probe(struct device *dev) 616 + static int giu_probe(struct platform_device *dev) 617 617 { 618 618 unsigned long start, size, flags = 0; 619 619 unsigned int nr_pins = 0; ··· 697 697 return cascade_irq(GIUINT_IRQ, giu_get_irq); 698 698 } 699 699 700 - static int giu_remove(struct device *dev) 700 + static int giu_remove(struct platform_device *dev) 701 701 { 702 702 iounmap(giu_base); 703 703 ··· 710 710 711 711 static struct platform_device *giu_platform_device; 712 712 713 - static struct device_driver giu_device_driver = { 714 - .name = "GIU", 715 - .bus = &platform_bus_type, 713 + static struct platform_driver giu_device_driver = { 716 714 .probe = giu_probe, 717 715 .remove = giu_remove, 716 + .driver = { 717 + .name = "GIU", 718 + }, 718 719 }; 719 720 720 721 static int __devinit vr41xx_giu_init(void) ··· 726 725 if (IS_ERR(giu_platform_device)) 727 726 return PTR_ERR(giu_platform_device); 728 727 729 - retval = driver_register(&giu_device_driver); 728 + retval = platform_driver_register(&giu_device_driver); 730 729 if (retval < 0) 731 730 platform_device_unregister(giu_platform_device); 732 731 ··· 735 734 736 735 static void __devexit vr41xx_giu_exit(void) 737 736 { 738 - driver_unregister(&giu_device_driver); 737 + platform_driver_unregister(&giu_device_driver); 739 738 740 739 platform_device_unregister(giu_platform_device); 741 740 }
+8 -9
drivers/char/vr41xx_rtc.c
··· 560 560 .fops = &rtc_fops, 561 561 }; 562 562 563 - static int rtc_probe(struct device *dev) 563 + static int rtc_probe(struct platform_device *pdev) 564 564 { 565 - struct platform_device *pdev; 566 565 unsigned int irq; 567 566 int retval; 568 567 569 - pdev = to_platform_device(dev); 570 568 if (pdev->num_resources != 2) 571 569 return -EBUSY; 572 570 ··· 633 635 return 0; 634 636 } 635 637 636 - static int rtc_remove(struct device *dev) 638 + static int rtc_remove(struct platform_device *dev) 637 639 { 638 640 int retval; 639 641 ··· 653 655 654 656 static struct platform_device *rtc_platform_device; 655 657 656 - static struct device_driver rtc_device_driver = { 657 - .name = rtc_name, 658 - .bus = &platform_bus_type, 658 + static struct platform_driver rtc_device_driver = { 659 659 .probe = rtc_probe, 660 660 .remove = rtc_remove, 661 + .driver = { 662 + .name = rtc_name, 663 + }, 661 664 }; 662 665 663 666 static int __devinit vr41xx_rtc_init(void) ··· 690 691 if (IS_ERR(rtc_platform_device)) 691 692 return PTR_ERR(rtc_platform_device); 692 693 693 - retval = driver_register(&rtc_device_driver); 694 + retval = platform_driver_register(&rtc_device_driver); 694 695 if (retval < 0) 695 696 platform_device_unregister(rtc_platform_device); 696 697 ··· 699 700 700 701 static void __devexit vr41xx_rtc_exit(void) 701 702 { 702 - driver_unregister(&rtc_device_driver); 703 + platform_driver_unregister(&rtc_device_driver); 703 704 704 705 platform_device_unregister(rtc_platform_device); 705 706 }
+15 -15
drivers/char/watchdog/mpcore_wdt.c
··· 139 139 */ 140 140 static int mpcore_wdt_open(struct inode *inode, struct file *file) 141 141 { 142 - struct mpcore_wdt *wdt = dev_get_drvdata(&mpcore_wdt_dev->dev); 142 + struct mpcore_wdt *wdt = platform_get_drvdata(mpcore_wdt_dev); 143 143 144 144 if (test_and_set_bit(0, &wdt->timer_alive)) 145 145 return -EBUSY; ··· 291 291 * System shutdown handler. Turn off the watchdog if we're 292 292 * restarting or halting the system. 293 293 */ 294 - static void mpcore_wdt_shutdown(struct device *_dev) 294 + static void mpcore_wdt_shutdown(struct platform_device *dev) 295 295 { 296 - struct mpcore_wdt *wdt = dev_get_drvdata(_dev); 296 + struct mpcore_wdt *wdt = platform_get_drvdata(dev); 297 297 298 298 if (system_state == SYSTEM_RESTART || system_state == SYSTEM_HALT) 299 299 mpcore_wdt_stop(wdt); ··· 317 317 .fops = &mpcore_wdt_fops, 318 318 }; 319 319 320 - static int __devinit mpcore_wdt_probe(struct device *_dev) 320 + static int __devinit mpcore_wdt_probe(struct platform_device *dev) 321 321 { 322 - struct platform_device *dev = to_platform_device(_dev); 323 322 struct mpcore_wdt *wdt; 324 323 struct resource *res; 325 324 int ret; ··· 363 364 } 364 365 365 366 mpcore_wdt_stop(wdt); 366 - dev_set_drvdata(&dev->dev, wdt); 367 + platform_set_drvdata(&dev->dev, wdt); 367 368 mpcore_wdt_dev = dev; 368 369 369 370 return 0; ··· 378 379 return ret; 379 380 } 380 381 381 - static int __devexit mpcore_wdt_remove(struct device *dev) 382 + static int __devexit mpcore_wdt_remove(struct platform_device *dev) 382 383 { 383 - struct mpcore_wdt *wdt = dev_get_drvdata(dev); 384 + struct mpcore_wdt *wdt = platform_get_drvdata(dev); 384 385 385 - dev_set_drvdata(dev, NULL); 386 + platform_set_drvdata(dev, NULL); 386 387 387 388 misc_deregister(&mpcore_wdt_miscdev); 388 389 ··· 394 395 return 0; 395 396 } 396 397 397 - static struct device_driver mpcore_wdt_driver = { 398 - .owner = THIS_MODULE, 399 - .name = "mpcore_wdt", 400 - .bus = &platform_bus_type, 398 + static struct platform_driver mpcore_wdt_driver = { 401 399 .probe = mpcore_wdt_probe, 402 400 .remove = __devexit_p(mpcore_wdt_remove), 403 401 .shutdown = mpcore_wdt_shutdown, 402 + .driver = { 403 + .owner = THIS_MODULE, 404 + .name = "mpcore_wdt", 405 + }, 404 406 }; 405 407 406 408 static char banner[] __initdata = KERN_INFO "MPcore Watchdog Timer: 0.1. mpcore_noboot=%d mpcore_margin=%d sec (nowayout= %d)\n"; ··· 420 420 421 421 printk(banner, mpcore_noboot, mpcore_margin, nowayout); 422 422 423 - return driver_register(&mpcore_wdt_driver); 423 + return platform_driver_register(&mpcore_wdt_driver); 424 424 } 425 425 426 426 static void __exit mpcore_wdt_exit(void) 427 427 { 428 - driver_unregister(&mpcore_wdt_driver); 428 + platform_driver_unregister(&mpcore_wdt_driver); 429 429 } 430 430 431 431 module_init(mpcore_wdt_init);
+10 -10
drivers/char/watchdog/mv64x60_wdt.c
··· 182 182 .fops = &mv64x60_wdt_fops, 183 183 }; 184 184 185 - static int __devinit mv64x60_wdt_probe(struct device *dev) 185 + static int __devinit mv64x60_wdt_probe(struct platform_device *dev) 186 186 { 187 - struct platform_device *pd = to_platform_device(dev); 188 - struct mv64x60_wdt_pdata *pdata = pd->dev.platform_data; 187 + struct mv64x60_wdt_pdata *pdata = dev->dev.platform_data; 189 188 int bus_clk = 133; 190 189 191 190 mv64x60_wdt_timeout = 10; ··· 201 202 return misc_register(&mv64x60_wdt_miscdev); 202 203 } 203 204 204 - static int __devexit mv64x60_wdt_remove(struct device *dev) 205 + static int __devexit mv64x60_wdt_remove(struct platform_device *dev) 205 206 { 206 207 misc_deregister(&mv64x60_wdt_miscdev); 207 208 ··· 211 212 return 0; 212 213 } 213 214 214 - static struct device_driver mv64x60_wdt_driver = { 215 - .owner = THIS_MODULE, 216 - .name = MV64x60_WDT_NAME, 217 - .bus = &platform_bus_type, 215 + static struct platform_driver mv64x60_wdt_driver = { 218 216 .probe = mv64x60_wdt_probe, 219 217 .remove = __devexit_p(mv64x60_wdt_remove), 218 + .driver = { 219 + .owner = THIS_MODULE, 220 + .name = MV64x60_WDT_NAME, 221 + }, 220 222 }; 221 223 222 224 static struct platform_device *mv64x60_wdt_dev; ··· 235 235 goto out; 236 236 } 237 237 238 - ret = driver_register(&mv64x60_wdt_driver); 238 + ret = platform_driver_register(&mv64x60_wdt_driver); 239 239 out: 240 240 return ret; 241 241 } 242 242 243 243 static void __exit mv64x60_wdt_exit(void) 244 244 { 245 - driver_unregister(&mv64x60_wdt_driver); 245 + platform_driver_unregister(&mv64x60_wdt_driver); 246 246 platform_device_unregister(mv64x60_wdt_dev); 247 247 } 248 248
+15 -15
drivers/char/watchdog/s3c2410_wdt.c
··· 347 347 } 348 348 /* device interface */ 349 349 350 - static int s3c2410wdt_probe(struct device *dev) 350 + static int s3c2410wdt_probe(struct platform_device *pdev) 351 351 { 352 - struct platform_device *pdev = to_platform_device(dev); 353 352 struct resource *res; 354 353 int started = 0; 355 354 int ret; 356 355 int size; 357 356 358 - DBG("%s: probe=%p, device=%p\n", __FUNCTION__, pdev, dev); 357 + DBG("%s: probe=%p\n", __FUNCTION__, pdev); 359 358 360 359 /* get the memory region for the watchdog timer */ 361 360 ··· 385 386 return -ENOENT; 386 387 } 387 388 388 - ret = request_irq(res->start, s3c2410wdt_irq, 0, pdev->name, dev); 389 + ret = request_irq(res->start, s3c2410wdt_irq, 0, pdev->name, pdev); 389 390 if (ret != 0) { 390 391 printk(KERN_INFO PFX "failed to install irq (%d)\n", ret); 391 392 return ret; 392 393 } 393 394 394 - wdt_clock = clk_get(dev, "watchdog"); 395 + wdt_clock = clk_get(&pdev->dev, "watchdog"); 395 396 if (wdt_clock == NULL) { 396 397 printk(KERN_INFO PFX "failed to find watchdog clock source\n"); 397 398 return -ENOENT; ··· 429 430 return 0; 430 431 } 431 432 432 - static int s3c2410wdt_remove(struct device *dev) 433 + static int s3c2410wdt_remove(struct platform_device *dev) 433 434 { 434 435 if (wdt_mem != NULL) { 435 436 release_resource(wdt_mem); ··· 453 454 return 0; 454 455 } 455 456 456 - static void s3c2410wdt_shutdown(struct device *dev) 457 + static void s3c2410wdt_shutdown(struct platform_device *dev) 457 458 { 458 459 s3c2410wdt_stop(); 459 460 } ··· 463 464 static unsigned long wtcon_save; 464 465 static unsigned long wtdat_save; 465 466 466 - static int s3c2410wdt_suspend(struct device *dev, pm_message_t state) 467 + static int s3c2410wdt_suspend(struct platform_device *dev, pm_message_t state) 467 468 { 468 469 /* Save watchdog state, and turn it off. */ 469 470 wtcon_save = readl(wdt_base + S3C2410_WTCON); ··· 475 476 return 0; 476 477 } 477 478 478 - static int s3c2410wdt_resume(struct device *dev) 479 + static int s3c2410wdt_resume(struct platform_device *dev) 479 480 { 480 481 /* Restore watchdog state. */ 481 482 ··· 495 496 #endif /* CONFIG_PM */ 496 497 497 498 498 - static struct device_driver s3c2410wdt_driver = { 499 - .owner = THIS_MODULE, 500 - .name = "s3c2410-wdt", 501 - .bus = &platform_bus_type, 499 + static struct platform_driver s3c2410wdt_driver = { 502 500 .probe = s3c2410wdt_probe, 503 501 .remove = s3c2410wdt_remove, 504 502 .shutdown = s3c2410wdt_shutdown, 505 503 .suspend = s3c2410wdt_suspend, 506 504 .resume = s3c2410wdt_resume, 505 + .driver = { 506 + .owner = THIS_MODULE, 507 + .name = "s3c2410-wdt", 508 + }, 507 509 }; 508 510 509 511 ··· 513 513 static int __init watchdog_init(void) 514 514 { 515 515 printk(banner); 516 - return driver_register(&s3c2410wdt_driver); 516 + return platform_driver_register(&s3c2410wdt_driver); 517 517 } 518 518 519 519 static void __exit watchdog_exit(void) 520 520 { 521 - driver_unregister(&s3c2410wdt_driver); 521 + platform_driver_unregister(&s3c2410wdt_driver); 522 522 } 523 523 524 524 module_init(watchdog_init);
+11 -10
drivers/hwmon/hdaps.c
··· 284 284 285 285 /* Device model stuff */ 286 286 287 - static int hdaps_probe(struct device *dev) 287 + static int hdaps_probe(struct platform_device *dev) 288 288 { 289 289 int ret; 290 290 ··· 296 296 return 0; 297 297 } 298 298 299 - static int hdaps_resume(struct device *dev) 299 + static int hdaps_resume(struct platform_device *dev) 300 300 { 301 301 return hdaps_device_init(); 302 302 } 303 303 304 - static struct device_driver hdaps_driver = { 305 - .name = "hdaps", 306 - .bus = &platform_bus_type, 307 - .owner = THIS_MODULE, 304 + static struct platform_driver hdaps_driver = { 308 305 .probe = hdaps_probe, 309 - .resume = hdaps_resume 306 + .resume = hdaps_resume, 307 + .driver = { 308 + .name = "hdaps", 309 + .owner = THIS_MODULE, 310 + }, 310 311 }; 311 312 312 313 /* Input class stuff */ ··· 551 550 goto out; 552 551 } 553 552 554 - ret = driver_register(&hdaps_driver); 553 + ret = platform_driver_register(&hdaps_driver); 555 554 if (ret) 556 555 goto out_region; 557 556 ··· 584 583 out_device: 585 584 platform_device_unregister(pdev); 586 585 out_driver: 587 - driver_unregister(&hdaps_driver); 586 + platform_driver_unregister(&hdaps_driver); 588 587 out_region: 589 588 release_region(HDAPS_LOW_PORT, HDAPS_NR_PORTS); 590 589 out: ··· 598 597 input_unregister_device(&hdaps_idev); 599 598 sysfs_remove_group(&pdev->dev.kobj, &hdaps_attribute_group); 600 599 platform_device_unregister(pdev); 601 - driver_unregister(&hdaps_driver); 600 + platform_driver_unregister(&hdaps_driver); 602 601 release_region(HDAPS_LOW_PORT, HDAPS_NR_PORTS); 603 602 604 603 printk(KERN_INFO "hdaps: driver unloaded.\n");
+13 -14
drivers/i2c/busses/i2c-iop3xx.c
··· 405 405 }; 406 406 407 407 static int 408 - iop3xx_i2c_remove(struct device *device) 408 + iop3xx_i2c_remove(struct platform_device *pdev) 409 409 { 410 - struct platform_device *pdev = to_platform_device(device); 411 - struct i2c_adapter *padapter = dev_get_drvdata(&pdev->dev); 410 + struct i2c_adapter *padapter = platform_get_drvdata(pdev); 412 411 struct i2c_algo_iop3xx_data *adapter_data = 413 412 (struct i2c_algo_iop3xx_data *)padapter->algo_data; 414 413 struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0); ··· 425 426 kfree(adapter_data); 426 427 kfree(padapter); 427 428 428 - dev_set_drvdata(&pdev->dev, NULL); 429 + platform_set_drvdata(pdev, NULL); 429 430 430 431 return 0; 431 432 } 432 433 433 434 static int 434 - iop3xx_i2c_probe(struct device *dev) 435 + iop3xx_i2c_probe(struct platform_device *pdev) 435 436 { 436 - struct platform_device *pdev = to_platform_device(dev); 437 437 struct resource *res; 438 438 int ret; 439 439 struct i2c_adapter *new_adapter; ··· 497 499 iop3xx_i2c_set_slave_addr(adapter_data); 498 500 iop3xx_i2c_enable(adapter_data); 499 501 500 - dev_set_drvdata(&pdev->dev, new_adapter); 502 + platform_set_drvdata(pdev, new_adapter); 501 503 new_adapter->algo_data = adapter_data; 502 504 503 505 i2c_add_adapter(new_adapter); ··· 521 523 } 522 524 523 525 524 - static struct device_driver iop3xx_i2c_driver = { 525 - .owner = THIS_MODULE, 526 - .name = "IOP3xx-I2C", 527 - .bus = &platform_bus_type, 526 + static struct platform_driver iop3xx_i2c_driver = { 528 527 .probe = iop3xx_i2c_probe, 529 - .remove = iop3xx_i2c_remove 528 + .remove = iop3xx_i2c_remove, 529 + .driver = { 530 + .owner = THIS_MODULE, 531 + .name = "IOP3xx-I2C", 532 + }, 530 533 }; 531 534 532 535 static int __init 533 536 i2c_iop3xx_init (void) 534 537 { 535 - return driver_register(&iop3xx_i2c_driver); 538 + return platform_driver_register(&iop3xx_i2c_driver); 536 539 } 537 540 538 541 static void __exit 539 542 i2c_iop3xx_exit (void) 540 543 { 541 - driver_unregister(&iop3xx_i2c_driver); 544 + platform_driver_unregister(&iop3xx_i2c_driver); 542 545 return; 543 546 } 544 547
+12 -13
drivers/i2c/busses/i2c-ixp2000.c
··· 86 86 struct i2c_algo_bit_data algo_data; 87 87 }; 88 88 89 - static int ixp2000_i2c_remove(struct device *dev) 89 + static int ixp2000_i2c_remove(struct platform_device *plat_dev) 90 90 { 91 - struct platform_device *plat_dev = to_platform_device(dev); 92 - struct ixp2000_i2c_data *drv_data = dev_get_drvdata(&plat_dev->dev); 91 + struct ixp2000_i2c_data *drv_data = platform_get_drvdata(plat_dev); 93 92 94 - dev_set_drvdata(&plat_dev->dev, NULL); 93 + platform_set_drvdata(plat_dev, NULL); 95 94 96 95 i2c_bit_del_bus(&drv_data->adapter); 97 96 ··· 99 100 return 0; 100 101 } 101 102 102 - static int ixp2000_i2c_probe(struct device *dev) 103 + static int ixp2000_i2c_probe(struct platform_device *plat_dev) 103 104 { 104 105 int err; 105 - struct platform_device *plat_dev = to_platform_device(dev); 106 106 struct ixp2000_i2c_pins *gpio = plat_dev->dev.platform_data; 107 107 struct ixp2000_i2c_data *drv_data = 108 108 kzalloc(sizeof(struct ixp2000_i2c_data), GFP_KERNEL); ··· 137 139 return err; 138 140 } 139 141 140 - dev_set_drvdata(&plat_dev->dev, drv_data); 142 + platform_set_drvdata(plat_dev, drv_data); 141 143 142 144 return 0; 143 145 } 144 146 145 - static struct device_driver ixp2000_i2c_driver = { 146 - .owner = THIS_MODULE, 147 - .name = "IXP2000-I2C", 148 - .bus = &platform_bus_type, 147 + static struct platform_driver ixp2000_i2c_driver = { 149 148 .probe = ixp2000_i2c_probe, 150 149 .remove = ixp2000_i2c_remove, 150 + .driver = { 151 + .name = "IXP2000-I2C", 152 + .owner = THIS_MODULE, 153 + }, 151 154 }; 152 155 153 156 static int __init ixp2000_i2c_init(void) 154 157 { 155 - return driver_register(&ixp2000_i2c_driver); 158 + return platform_driver_register(&ixp2000_i2c_driver); 156 159 } 157 160 158 161 static void __exit ixp2000_i2c_exit(void) 159 162 { 160 - driver_unregister(&ixp2000_i2c_driver); 163 + platform_driver_unregister(&ixp2000_i2c_driver); 161 164 } 162 165 163 166 module_init(ixp2000_i2c_init);
+12 -13
drivers/i2c/busses/i2c-ixp4xx.c
··· 87 87 struct i2c_algo_bit_data algo_data; 88 88 }; 89 89 90 - static int ixp4xx_i2c_remove(struct device *dev) 90 + static int ixp4xx_i2c_remove(struct platform_device *plat_dev) 91 91 { 92 - struct platform_device *plat_dev = to_platform_device(dev); 93 - struct ixp4xx_i2c_data *drv_data = dev_get_drvdata(&plat_dev->dev); 92 + struct ixp4xx_i2c_data *drv_data = platform_get_drvdata(plat_dev); 94 93 95 - dev_set_drvdata(&plat_dev->dev, NULL); 94 + platform_set_drvdata(plat_dev, NULL); 96 95 97 96 i2c_bit_del_bus(&drv_data->adapter); 98 97 ··· 100 101 return 0; 101 102 } 102 103 103 - static int ixp4xx_i2c_probe(struct device *dev) 104 + static int ixp4xx_i2c_probe(struct platform_device *plat_dev) 104 105 { 105 106 int err; 106 - struct platform_device *plat_dev = to_platform_device(dev); 107 107 struct ixp4xx_i2c_pins *gpio = plat_dev->dev.platform_data; 108 108 struct ixp4xx_i2c_data *drv_data = 109 109 kzalloc(sizeof(struct ixp4xx_i2c_data), GFP_KERNEL); ··· 146 148 return err; 147 149 } 148 150 149 - dev_set_drvdata(&plat_dev->dev, drv_data); 151 + platform_set_drvdata(plat_dev, drv_data); 150 152 151 153 return 0; 152 154 } 153 155 154 - static struct device_driver ixp4xx_i2c_driver = { 155 - .owner = THIS_MODULE, 156 - .name = "IXP4XX-I2C", 157 - .bus = &platform_bus_type, 156 + static struct platform_driver ixp4xx_i2c_driver = { 158 157 .probe = ixp4xx_i2c_probe, 159 158 .remove = ixp4xx_i2c_remove, 159 + .driver = { 160 + .name = "IXP4XX-I2C", 161 + .owner = THIS_MODULE, 162 + }, 160 163 }; 161 164 162 165 static int __init ixp4xx_i2c_init(void) 163 166 { 164 - return driver_register(&ixp4xx_i2c_driver); 167 + return platform_driver_register(&ixp4xx_i2c_driver); 165 168 } 166 169 167 170 static void __exit ixp4xx_i2c_exit(void) 168 171 { 169 - driver_unregister(&ixp4xx_i2c_driver); 172 + platform_driver_unregister(&ixp4xx_i2c_driver); 170 173 } 171 174 172 175 module_init(ixp4xx_i2c_init);
+12 -12
drivers/i2c/busses/i2c-mpc.c
··· 288 288 .retries = 1 289 289 }; 290 290 291 - static int fsl_i2c_probe(struct device *device) 291 + static int fsl_i2c_probe(struct platform_device *pdev) 292 292 { 293 293 int result = 0; 294 294 struct mpc_i2c *i2c; 295 - struct platform_device *pdev = to_platform_device(device); 296 295 struct fsl_i2c_platform_data *pdata; 297 296 struct resource *r = platform_get_resource(pdev, IORESOURCE_MEM, 0); 298 297 ··· 322 323 } 323 324 324 325 mpc_i2c_setclock(i2c); 325 - dev_set_drvdata(device, i2c); 326 + platform_set_drvdata(pdev, i2c); 326 327 327 328 i2c->adap = mpc_ops; 328 329 i2c_set_adapdata(&i2c->adap, i2c); ··· 344 345 return result; 345 346 }; 346 347 347 - static int fsl_i2c_remove(struct device *device) 348 + static int fsl_i2c_remove(struct platform_device *pdev) 348 349 { 349 - struct mpc_i2c *i2c = dev_get_drvdata(device); 350 + struct mpc_i2c *i2c = platform_get_drvdata(pdev); 350 351 351 352 i2c_del_adapter(&i2c->adap); 352 - dev_set_drvdata(device, NULL); 353 + platform_set_drvdata(pdev, NULL); 353 354 354 355 if (i2c->irq != 0) 355 356 free_irq(i2c->irq, i2c); ··· 360 361 }; 361 362 362 363 /* Structure for a device driver */ 363 - static struct device_driver fsl_i2c_driver = { 364 - .owner = THIS_MODULE, 365 - .name = "fsl-i2c", 366 - .bus = &platform_bus_type, 364 + static struct platform_driver fsl_i2c_driver = { 367 365 .probe = fsl_i2c_probe, 368 366 .remove = fsl_i2c_remove, 367 + .driver = { 368 + .owner = THIS_MODULE, 369 + .name = "fsl-i2c", 370 + }, 369 371 }; 370 372 371 373 static int __init fsl_i2c_init(void) 372 374 { 373 - return driver_register(&fsl_i2c_driver); 375 + return platform_driver_register(&fsl_i2c_driver); 374 376 } 375 377 376 378 static void __exit fsl_i2c_exit(void) 377 379 { 378 - driver_unregister(&fsl_i2c_driver); 380 + platform_driver_unregister(&fsl_i2c_driver); 379 381 } 380 382 381 383 module_init(fsl_i2c_init);
+12 -12
drivers/i2c/busses/i2c-mv64xxx.c
··· 492 492 } 493 493 494 494 static int __devinit 495 - mv64xxx_i2c_probe(struct device *dev) 495 + mv64xxx_i2c_probe(struct platform_device *pd) 496 496 { 497 - struct platform_device *pd = to_platform_device(dev); 498 497 struct mv64xxx_i2c_data *drv_data; 499 - struct mv64xxx_i2c_pdata *pdata = dev->platform_data; 498 + struct mv64xxx_i2c_pdata *pdata = pd->dev.platform_data; 500 499 int rc; 501 500 502 501 if ((pd->id != 0) || !pdata) ··· 525 526 drv_data->adapter.class = I2C_CLASS_HWMON; 526 527 drv_data->adapter.timeout = pdata->timeout; 527 528 drv_data->adapter.retries = pdata->retries; 528 - dev_set_drvdata(dev, drv_data); 529 + platform_set_drvdata(pd, drv_data); 529 530 i2c_set_adapdata(&drv_data->adapter, drv_data); 530 531 531 532 if (request_irq(drv_data->irq, mv64xxx_i2c_intr, 0, ··· 554 555 } 555 556 556 557 static int __devexit 557 - mv64xxx_i2c_remove(struct device *dev) 558 + mv64xxx_i2c_remove(struct platform_device *dev) 558 559 { 559 - struct mv64xxx_i2c_data *drv_data = dev_get_drvdata(dev); 560 + struct mv64xxx_i2c_data *drv_data = platform_get_drvdata(dev); 560 561 int rc; 561 562 562 563 rc = i2c_del_adapter(&drv_data->adapter); ··· 567 568 return rc; 568 569 } 569 570 570 - static struct device_driver mv64xxx_i2c_driver = { 571 - .owner = THIS_MODULE, 572 - .name = MV64XXX_I2C_CTLR_NAME, 573 - .bus = &platform_bus_type, 571 + static struct platform_driver mv64xxx_i2c_driver = { 574 572 .probe = mv64xxx_i2c_probe, 575 573 .remove = mv64xxx_i2c_remove, 574 + .driver = { 575 + .owner = THIS_MODULE, 576 + .name = MV64XXX_I2C_CTLR_NAME, 577 + }, 576 578 }; 577 579 578 580 static int __init 579 581 mv64xxx_i2c_init(void) 580 582 { 581 - return driver_register(&mv64xxx_i2c_driver); 583 + return platform_driver_register(&mv64xxx_i2c_driver); 582 584 } 583 585 584 586 static void __exit 585 587 mv64xxx_i2c_exit(void) 586 588 { 587 - driver_unregister(&mv64xxx_i2c_driver); 589 + platform_driver_unregister(&mv64xxx_i2c_driver); 588 590 } 589 591 590 592 module_init(mv64xxx_i2c_init);
+13 -12
drivers/i2c/busses/i2c-pxa.c
··· 936 936 }, 937 937 }; 938 938 939 - static int i2c_pxa_probe(struct device *dev) 939 + static int i2c_pxa_probe(struct platform_device *dev) 940 940 { 941 941 struct pxa_i2c *i2c = &i2c_pxa; 942 - struct i2c_pxa_platform_data *plat = dev->platform_data; 942 + struct i2c_pxa_platform_data *plat = dev->dev.platform_data; 943 943 int ret; 944 944 945 945 #ifdef CONFIG_PXA27x ··· 968 968 i2c_pxa_reset(i2c); 969 969 970 970 i2c->adap.algo_data = i2c; 971 - i2c->adap.dev.parent = dev; 971 + i2c->adap.dev.parent = &dev->dev; 972 972 973 973 ret = i2c_add_adapter(&i2c->adap); 974 974 if (ret < 0) { ··· 976 976 goto err_irq; 977 977 } 978 978 979 - dev_set_drvdata(dev, i2c); 979 + platform_set_drvdata(dev, i2c); 980 980 981 981 #ifdef CONFIG_I2C_PXA_SLAVE 982 982 printk(KERN_INFO "I2C: %s: PXA I2C adapter, slave address %d\n", ··· 993 993 return ret; 994 994 } 995 995 996 - static int i2c_pxa_remove(struct device *dev) 996 + static int i2c_pxa_remove(struct platform_device *dev) 997 997 { 998 - struct pxa_i2c *i2c = dev_get_drvdata(dev); 998 + struct pxa_i2c *i2c = platform_get_drvdata(dev); 999 999 1000 - dev_set_drvdata(dev, NULL); 1000 + platform_set_drvdata(dev, NULL); 1001 1001 1002 1002 i2c_del_adapter(&i2c->adap); 1003 1003 free_irq(IRQ_I2C, i2c); ··· 1006 1006 return 0; 1007 1007 } 1008 1008 1009 - static struct device_driver i2c_pxa_driver = { 1010 - .name = "pxa2xx-i2c", 1011 - .bus = &platform_bus_type, 1009 + static struct platform_driver i2c_pxa_driver = { 1012 1010 .probe = i2c_pxa_probe, 1013 1011 .remove = i2c_pxa_remove, 1012 + .driver = { 1013 + .name = "pxa2xx-i2c", 1014 + }, 1014 1015 }; 1015 1016 1016 1017 static int __init i2c_adap_pxa_init(void) 1017 1018 { 1018 - return driver_register(&i2c_pxa_driver); 1019 + return platform_driver_register(&i2c_pxa_driver); 1019 1020 } 1020 1021 1021 1022 static void i2c_adap_pxa_exit(void) 1022 1023 { 1023 - return driver_unregister(&i2c_pxa_driver); 1024 + return platform_driver_unregister(&i2c_pxa_driver); 1024 1025 } 1025 1026 1026 1027 module_init(i2c_adap_pxa_init);
+36 -35
drivers/i2c/busses/i2c-s3c2410.c
··· 760 760 * called by the bus driver when a suitable device is found 761 761 */ 762 762 763 - static int s3c24xx_i2c_probe(struct device *dev) 763 + static int s3c24xx_i2c_probe(struct platform_device *pdev) 764 764 { 765 - struct platform_device *pdev = to_platform_device(dev); 766 765 struct s3c24xx_i2c *i2c = &s3c24xx_i2c; 767 766 struct resource *res; 768 767 int ret; 769 768 770 769 /* find the clock and enable it */ 771 770 772 - i2c->dev = dev; 773 - i2c->clk = clk_get(dev, "i2c"); 771 + i2c->dev = &pdev->dev; 772 + i2c->clk = clk_get(&pdev->dev, "i2c"); 774 773 if (IS_ERR(i2c->clk)) { 775 - dev_err(dev, "cannot get clock\n"); 774 + dev_err(&pdev->dev, "cannot get clock\n"); 776 775 ret = -ENOENT; 777 776 goto out; 778 777 } 779 778 780 - dev_dbg(dev, "clock source %p\n", i2c->clk); 779 + dev_dbg(&pdev->dev, "clock source %p\n", i2c->clk); 781 780 782 781 clk_use(i2c->clk); 783 782 clk_enable(i2c->clk); ··· 785 786 786 787 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 787 788 if (res == NULL) { 788 - dev_err(dev, "cannot find IO resource\n"); 789 + dev_err(&pdev->dev, "cannot find IO resource\n"); 789 790 ret = -ENOENT; 790 791 goto out; 791 792 } ··· 794 795 pdev->name); 795 796 796 797 if (i2c->ioarea == NULL) { 797 - dev_err(dev, "cannot request IO\n"); 798 + dev_err(&pdev->dev, "cannot request IO\n"); 798 799 ret = -ENXIO; 799 800 goto out; 800 801 } ··· 802 803 i2c->regs = ioremap(res->start, (res->end-res->start)+1); 803 804 804 805 if (i2c->regs == NULL) { 805 - dev_err(dev, "cannot map IO\n"); 806 + dev_err(&pdev->dev, "cannot map IO\n"); 806 807 ret = -ENXIO; 807 808 goto out; 808 809 } 809 810 810 - dev_dbg(dev, "registers %p (%p, %p)\n", i2c->regs, i2c->ioarea, res); 811 + dev_dbg(&pdev->dev, "registers %p (%p, %p)\n", i2c->regs, i2c->ioarea, res); 811 812 812 813 /* setup info block for the i2c core */ 813 814 814 815 i2c->adap.algo_data = i2c; 815 - i2c->adap.dev.parent = dev; 816 + i2c->adap.dev.parent = &pdev->dev; 816 817 817 818 /* initialise the i2c controller */ 818 819 ··· 826 827 827 828 res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); 828 829 if (res == NULL) { 829 - dev_err(dev, "cannot find IRQ\n"); 830 + dev_err(&pdev->dev, "cannot find IRQ\n"); 830 831 ret = -ENOENT; 831 832 goto out; 832 833 } ··· 835 836 pdev->name, i2c); 836 837 837 838 if (ret != 0) { 838 - dev_err(dev, "cannot claim IRQ\n"); 839 + dev_err(&pdev->dev, "cannot claim IRQ\n"); 839 840 goto out; 840 841 } 841 842 842 843 i2c->irq = res; 843 844 844 - dev_dbg(dev, "irq resource %p (%ld)\n", res, res->start); 845 + dev_dbg(&pdev->dev, "irq resource %p (%ld)\n", res, res->start); 845 846 846 847 ret = i2c_add_adapter(&i2c->adap); 847 848 if (ret < 0) { 848 - dev_err(dev, "failed to add bus to i2c core\n"); 849 + dev_err(&pdev->dev, "failed to add bus to i2c core\n"); 849 850 goto out; 850 851 } 851 852 852 - dev_set_drvdata(dev, i2c); 853 + platform_set_drvdata(pdev, i2c); 853 854 854 - dev_info(dev, "%s: S3C I2C adapter\n", i2c->adap.dev.bus_id); 855 + dev_info(&pdev->dev, "%s: S3C I2C adapter\n", i2c->adap.dev.bus_id); 855 856 856 857 out: 857 858 if (ret < 0) ··· 865 866 * called when device is removed from the bus 866 867 */ 867 868 868 - static int s3c24xx_i2c_remove(struct device *dev) 869 + static int s3c24xx_i2c_remove(struct platform_device *pdev) 869 870 { 870 - struct s3c24xx_i2c *i2c = dev_get_drvdata(dev); 871 + struct s3c24xx_i2c *i2c = platform_get_drvdata(pdev); 871 872 872 873 if (i2c != NULL) { 873 874 s3c24xx_i2c_free(i2c); 874 - dev_set_drvdata(dev, NULL); 875 + platform_set_drvdata(pdev, NULL); 875 876 } 876 877 877 878 return 0; 878 879 } 879 880 880 881 #ifdef CONFIG_PM 881 - static int s3c24xx_i2c_resume(struct device *dev) 882 + static int s3c24xx_i2c_resume(struct platform_device *dev) 882 883 { 883 - struct s3c24xx_i2c *i2c = dev_get_drvdata(dev); 884 + struct s3c24xx_i2c *i2c = platform_get_drvdata(dev); 884 885 885 886 if (i2c != NULL) 886 887 s3c24xx_i2c_init(i2c); ··· 894 895 895 896 /* device driver for platform bus bits */ 896 897 897 - static struct device_driver s3c2410_i2c_driver = { 898 - .owner = THIS_MODULE, 899 - .name = "s3c2410-i2c", 900 - .bus = &platform_bus_type, 898 + static struct platform_driver s3c2410_i2c_driver = { 901 899 .probe = s3c24xx_i2c_probe, 902 900 .remove = s3c24xx_i2c_remove, 903 901 .resume = s3c24xx_i2c_resume, 902 + .driver = { 903 + .owner = THIS_MODULE, 904 + .name = "s3c2410-i2c", 905 + }, 904 906 }; 905 907 906 - static struct device_driver s3c2440_i2c_driver = { 907 - .owner = THIS_MODULE, 908 - .name = "s3c2440-i2c", 909 - .bus = &platform_bus_type, 908 + static struct platform_driver s3c2440_i2c_driver = { 910 909 .probe = s3c24xx_i2c_probe, 911 910 .remove = s3c24xx_i2c_remove, 912 911 .resume = s3c24xx_i2c_resume, 912 + .driver = { 913 + .owner = THIS_MODULE, 914 + .name = "s3c2440-i2c", 915 + }, 913 916 }; 914 917 915 918 static int __init i2c_adap_s3c_init(void) 916 919 { 917 920 int ret; 918 921 919 - ret = driver_register(&s3c2410_i2c_driver); 922 + ret = platform_driver_register(&s3c2410_i2c_driver); 920 923 if (ret == 0) { 921 - ret = driver_register(&s3c2440_i2c_driver); 924 + ret = platform_driver_register(&s3c2440_i2c_driver); 922 925 if (ret) 923 - driver_unregister(&s3c2410_i2c_driver); 926 + platform_driver_unregister(&s3c2410_i2c_driver); 924 927 } 925 928 926 929 return ret; ··· 930 929 931 930 static void __exit i2c_adap_s3c_exit(void) 932 931 { 933 - driver_unregister(&s3c2410_i2c_driver); 934 - driver_unregister(&s3c2440_i2c_driver); 932 + platform_driver_unregister(&s3c2410_i2c_driver); 933 + platform_driver_unregister(&s3c2440_i2c_driver); 935 934 } 936 935 937 936 module_init(i2c_adap_s3c_init);
+11 -10
drivers/i2c/chips/isp1301_omap.c
··· 873 873 return 0; 874 874 } 875 875 876 - static int otg_probe(struct device *dev) 876 + static int otg_probe(struct platform_device *dev) 877 877 { 878 878 // struct omap_usb_config *config = dev->platform_data; 879 879 880 - otg_dev = to_platform_device(dev); 880 + otg_dev = dev; 881 881 return 0; 882 882 } 883 883 884 - static int otg_remove(struct device *dev) 884 + static int otg_remove(struct platform_device *dev) 885 885 { 886 886 otg_dev = 0; 887 887 return 0; 888 888 } 889 889 890 - struct device_driver omap_otg_driver = { 891 - .owner = THIS_MODULE, 892 - .name = "omap_otg", 893 - .bus = &platform_bus_type, 890 + struct platform_driver omap_otg_driver = { 894 891 .probe = otg_probe, 895 - .remove = otg_remove, 892 + .remove = otg_remove, 893 + .driver = { 894 + .owner = THIS_MODULE, 895 + .name = "omap_otg", 896 + }, 896 897 }; 897 898 898 899 static int otg_bind(struct isp1301 *isp) ··· 903 902 if (otg_dev) 904 903 return -EBUSY; 905 904 906 - status = driver_register(&omap_otg_driver); 905 + status = platform_driver_register(&omap_otg_driver); 907 906 if (status < 0) 908 907 return status; 909 908 ··· 914 913 status = -ENODEV; 915 914 916 915 if (status < 0) 917 - driver_unregister(&omap_otg_driver); 916 + platform_driver_unregister(&omap_otg_driver); 918 917 return status; 919 918 } 920 919
+15 -14
drivers/input/keyboard/corgikbd.c
··· 259 259 } 260 260 261 261 #ifdef CONFIG_PM 262 - static int corgikbd_suspend(struct device *dev, pm_message_t state) 262 + static int corgikbd_suspend(struct platform_device *dev, pm_message_t state) 263 263 { 264 - struct corgikbd *corgikbd = dev_get_drvdata(dev); 264 + struct corgikbd *corgikbd = platform_get_drvdata(dev); 265 265 corgikbd->suspended = 1; 266 266 267 267 return 0; 268 268 } 269 269 270 - static int corgikbd_resume(struct device *dev) 270 + static int corgikbd_resume(struct platform_device *dev) 271 271 { 272 - struct corgikbd *corgikbd = dev_get_drvdata(dev); 272 + struct corgikbd *corgikbd = platform_get_drvdata(dev); 273 273 274 274 /* Upon resume, ignore the suspend key for a short while */ 275 275 corgikbd->suspend_jiffies=jiffies; ··· 282 282 #define corgikbd_resume NULL 283 283 #endif 284 284 285 - static int __init corgikbd_probe(struct device *dev) 285 + static int __init corgikbd_probe(struct platform_device *pdev) 286 286 { 287 287 struct corgikbd *corgikbd; 288 288 struct input_dev *input_dev; ··· 296 296 return -ENOMEM; 297 297 } 298 298 299 - dev_set_drvdata(dev, corgikbd); 299 + platform_set_drvdata(pdev, corgikbd); 300 300 301 301 corgikbd->input = input_dev; 302 302 spin_lock_init(&corgikbd->lock); ··· 321 321 input_dev->id.vendor = 0x0001; 322 322 input_dev->id.product = 0x0001; 323 323 input_dev->id.version = 0x0100; 324 - input_dev->cdev.dev = dev; 324 + input_dev->cdev.dev = &pdev->dev; 325 325 input_dev->private = corgikbd; 326 326 327 327 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP) | BIT(EV_PWR) | BIT(EV_SW); ··· 356 356 return 0; 357 357 } 358 358 359 - static int corgikbd_remove(struct device *dev) 359 + static int corgikbd_remove(struct platform_device *pdev) 360 360 { 361 361 int i; 362 - struct corgikbd *corgikbd = dev_get_drvdata(dev); 362 + struct corgikbd *corgikbd = platform_get_drvdata(pdev); 363 363 364 364 for (i = 0; i < CORGI_KEY_SENSE_NUM; i++) 365 365 free_irq(CORGI_IRQ_GPIO_KEY_SENSE(i), corgikbd); ··· 374 374 return 0; 375 375 } 376 376 377 - static struct device_driver corgikbd_driver = { 378 - .name = "corgi-keyboard", 379 - .bus = &platform_bus_type, 377 + static struct platform_driver corgikbd_driver = { 380 378 .probe = corgikbd_probe, 381 379 .remove = corgikbd_remove, 382 380 .suspend = corgikbd_suspend, 383 381 .resume = corgikbd_resume, 382 + .driver = { 383 + .name = "corgi-keyboard", 384 + }, 384 385 }; 385 386 386 387 static int __devinit corgikbd_init(void) 387 388 { 388 - return driver_register(&corgikbd_driver); 389 + return platform_driver_register(&corgikbd_driver); 389 390 } 390 391 391 392 static void __exit corgikbd_exit(void) 392 393 { 393 - driver_unregister(&corgikbd_driver); 394 + platform_driver_unregister(&corgikbd_driver); 394 395 } 395 396 396 397 module_init(corgikbd_init);
+15 -14
drivers/input/keyboard/spitzkbd.c
··· 309 309 } 310 310 311 311 #ifdef CONFIG_PM 312 - static int spitzkbd_suspend(struct device *dev, pm_message_t state) 312 + static int spitzkbd_suspend(struct platform_device *dev, pm_message_t state) 313 313 { 314 314 int i; 315 - struct spitzkbd *spitzkbd = dev_get_drvdata(dev); 315 + struct spitzkbd *spitzkbd = platform_get_drvdata(dev); 316 316 spitzkbd->suspended = 1; 317 317 318 318 /* Set Strobe lines as inputs - *except* strobe line 0 leave this ··· 323 323 return 0; 324 324 } 325 325 326 - static int spitzkbd_resume(struct device *dev) 326 + static int spitzkbd_resume(struct platform_device *dev) 327 327 { 328 328 int i; 329 - struct spitzkbd *spitzkbd = dev_get_drvdata(dev); 329 + struct spitzkbd *spitzkbd = platform_get_drvdata(dev); 330 330 331 331 for (i = 0; i < SPITZ_KEY_STROBE_NUM; i++) 332 332 pxa_gpio_mode(spitz_strobes[i] | GPIO_OUT | GPIO_DFLT_HIGH); ··· 342 342 #define spitzkbd_resume NULL 343 343 #endif 344 344 345 - static int __init spitzkbd_probe(struct device *dev) 345 + static int __init spitzkbd_probe(struct platform_device *dev) 346 346 { 347 347 struct spitzkbd *spitzkbd; 348 348 struct input_dev *input_dev; ··· 358 358 return -ENOMEM; 359 359 } 360 360 361 - dev_set_drvdata(dev, spitzkbd); 361 + platform_set_drvdata(dev, spitzkbd); 362 362 strcpy(spitzkbd->phys, "spitzkbd/input0"); 363 363 364 364 spin_lock_init(&spitzkbd->lock); ··· 380 380 input_dev->private = spitzkbd; 381 381 input_dev->name = "Spitz Keyboard"; 382 382 input_dev->phys = spitzkbd->phys; 383 - input_dev->cdev.dev = dev; 383 + input_dev->cdev.dev = &dev->dev; 384 384 385 385 input_dev->id.bustype = BUS_HOST; 386 386 input_dev->id.vendor = 0x0001; ··· 437 437 return 0; 438 438 } 439 439 440 - static int spitzkbd_remove(struct device *dev) 440 + static int spitzkbd_remove(struct platform_device *dev) 441 441 { 442 442 int i; 443 - struct spitzkbd *spitzkbd = dev_get_drvdata(dev); 443 + struct spitzkbd *spitzkbd = platform_get_drvdata(dev); 444 444 445 445 for (i = 0; i < SPITZ_KEY_SENSE_NUM; i++) 446 446 free_irq(IRQ_GPIO(spitz_senses[i]), spitzkbd); ··· 460 460 return 0; 461 461 } 462 462 463 - static struct device_driver spitzkbd_driver = { 464 - .name = "spitz-keyboard", 465 - .bus = &platform_bus_type, 463 + static struct platform_driver spitzkbd_driver = { 466 464 .probe = spitzkbd_probe, 467 465 .remove = spitzkbd_remove, 468 466 .suspend = spitzkbd_suspend, 469 467 .resume = spitzkbd_resume, 468 + .driver = { 469 + .name = "spitz-keyboard", 470 + }, 470 471 }; 471 472 472 473 static int __devinit spitzkbd_init(void) 473 474 { 474 - return driver_register(&spitzkbd_driver); 475 + return platform_driver_register(&spitzkbd_driver); 475 476 } 476 477 477 478 static void __exit spitzkbd_exit(void) 478 479 { 479 - driver_unregister(&spitzkbd_driver); 480 + platform_driver_unregister(&spitzkbd_driver); 480 481 } 481 482 482 483 module_init(spitzkbd_init);
+10 -9
drivers/input/serio/i8042.c
··· 912 912 * Here we try to restore the original BIOS settings 913 913 */ 914 914 915 - static int i8042_suspend(struct device *dev, pm_message_t state) 915 + static int i8042_suspend(struct platform_device *dev, pm_message_t state) 916 916 { 917 917 del_timer_sync(&i8042_timer); 918 918 i8042_controller_reset(); ··· 925 925 * Here we try to reset everything back to a state in which suspended 926 926 */ 927 927 928 - static int i8042_resume(struct device *dev) 928 + static int i8042_resume(struct platform_device *dev) 929 929 { 930 930 int i; 931 931 ··· 964 964 * because otherwise BIOSes will be confused. 965 965 */ 966 966 967 - static void i8042_shutdown(struct device *dev) 967 + static void i8042_shutdown(struct platform_device *dev) 968 968 { 969 969 i8042_controller_cleanup(); 970 970 } 971 971 972 - static struct device_driver i8042_driver = { 973 - .name = "i8042", 974 - .bus = &platform_bus_type, 972 + static struct platform_driver i8042_driver = { 975 973 .suspend = i8042_suspend, 976 974 .resume = i8042_resume, 977 975 .shutdown = i8042_shutdown, 976 + .driver = { 977 + .name = "i8042", 978 + }, 978 979 }; 979 980 980 981 static int __init i8042_create_kbd_port(void) ··· 1079 1078 goto err_platform_exit; 1080 1079 } 1081 1080 1082 - err = driver_register(&i8042_driver); 1081 + err = platform_driver_register(&i8042_driver); 1083 1082 if (err) 1084 1083 goto err_controller_cleanup; 1085 1084 ··· 1127 1126 err_unregister_device: 1128 1127 platform_device_unregister(i8042_platform_device); 1129 1128 err_unregister_driver: 1130 - driver_unregister(&i8042_driver); 1129 + platform_driver_unregister(&i8042_driver); 1131 1130 err_controller_cleanup: 1132 1131 i8042_controller_cleanup(); 1133 1132 err_platform_exit: ··· 1149 1148 del_timer_sync(&i8042_timer); 1150 1149 1151 1150 platform_device_unregister(i8042_platform_device); 1152 - driver_unregister(&i8042_driver); 1151 + platform_driver_unregister(&i8042_driver); 1153 1152 1154 1153 i8042_platform_exit(); 1155 1154
+11 -10
drivers/input/serio/rpckbd.c
··· 107 107 * Allocate and initialize serio structure for subsequent registration 108 108 * with serio core. 109 109 */ 110 - static int __devinit rpckbd_probe(struct device *dev) 110 + static int __devinit rpckbd_probe(struct platform_device *dev) 111 111 { 112 112 struct serio *serio; 113 113 ··· 120 120 serio->write = rpckbd_write; 121 121 serio->open = rpckbd_open; 122 122 serio->close = rpckbd_close; 123 - serio->dev.parent = dev; 123 + serio->dev.parent = &dev->dev; 124 124 strlcpy(serio->name, "RiscPC PS/2 kbd port", sizeof(serio->name)); 125 125 strlcpy(serio->phys, "rpckbd/serio0", sizeof(serio->phys)); 126 126 127 - dev_set_drvdata(dev, serio); 127 + platform_set_drvdata(dev, serio); 128 128 serio_register_port(serio); 129 129 return 0; 130 130 } 131 131 132 - static int __devexit rpckbd_remove(struct device *dev) 132 + static int __devexit rpckbd_remove(struct platform_device *dev) 133 133 { 134 - struct serio *serio = dev_get_drvdata(dev); 134 + struct serio *serio = platform_get_drvdata(dev); 135 135 serio_unregister_port(serio); 136 136 return 0; 137 137 } 138 138 139 - static struct device_driver rpckbd_driver = { 140 - .name = "kart", 141 - .bus = &platform_bus_type, 139 + static struct platform_driver rpckbd_driver = { 142 140 .probe = rpckbd_probe, 143 141 .remove = __devexit_p(rpckbd_remove), 142 + .driver = { 143 + .name = "kart", 144 + }, 144 145 }; 145 146 146 147 static int __init rpckbd_init(void) 147 148 { 148 - return driver_register(&rpckbd_driver); 149 + return platform_driver_register(&rpckbd_driver); 149 150 } 150 151 151 152 static void __exit rpckbd_exit(void) 152 153 { 153 - driver_unregister(&rpckbd_driver); 154 + platform_driver_unregister(&rpckbd_driver); 154 155 } 155 156 156 157 module_init(rpckbd_init);
+16 -16
drivers/input/touchscreen/corgi_ts.c
··· 231 231 } 232 232 233 233 #ifdef CONFIG_PM 234 - static int corgits_suspend(struct device *dev, pm_message_t state) 234 + static int corgits_suspend(struct platform_device *dev, pm_message_t state) 235 235 { 236 - struct corgi_ts *corgi_ts = dev_get_drvdata(dev); 236 + struct corgi_ts *corgi_ts = platform_get_drvdata(dev); 237 237 238 238 if (corgi_ts->pendown) { 239 239 del_timer_sync(&corgi_ts->timer); ··· 248 248 return 0; 249 249 } 250 250 251 - static int corgits_resume(struct device *dev) 251 + static int corgits_resume(struct platform_device *dev) 252 252 { 253 - struct corgi_ts *corgi_ts = dev_get_drvdata(dev); 253 + struct corgi_ts *corgi_ts = platform_get_drvdata(dev); 254 254 255 255 corgi_ssp_ads7846_putget((4u << ADSCTRL_ADR_SH) | ADSCTRL_STS); 256 256 /* Enable Falling Edge */ ··· 264 264 #define corgits_resume NULL 265 265 #endif 266 266 267 - static int __init corgits_probe(struct device *dev) 267 + static int __init corgits_probe(struct platform_device *pdev) 268 268 { 269 269 struct corgi_ts *corgi_ts; 270 - struct platform_device *pdev = to_platform_device(dev); 271 270 struct input_dev *input_dev; 272 271 int err = -ENOMEM; 273 272 ··· 275 276 if (!corgi_ts || !input_dev) 276 277 goto fail; 277 278 278 - dev_set_drvdata(dev, corgi_ts); 279 + platform_set_drvdata(pdev, corgi_ts); 279 280 280 - corgi_ts->machinfo = dev->platform_data; 281 + corgi_ts->machinfo = pdev->dev.platform_data; 281 282 corgi_ts->irq_gpio = platform_get_irq(pdev, 0); 282 283 283 284 if (corgi_ts->irq_gpio < 0) { ··· 297 298 input_dev->id.vendor = 0x0001; 298 299 input_dev->id.product = 0x0002; 299 300 input_dev->id.version = 0x0100; 300 - input_dev->cdev.dev = dev; 301 + input_dev->cdev.dev = &pdev->dev; 301 302 input_dev->private = corgi_ts; 302 303 303 304 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); ··· 338 339 339 340 } 340 341 341 - static int corgits_remove(struct device *dev) 342 + static int corgits_remove(struct platform_device *pdev) 342 343 { 343 - struct corgi_ts *corgi_ts = dev_get_drvdata(dev); 344 + struct corgi_ts *corgi_ts = platform_get_drvdata(pdev); 344 345 345 346 free_irq(corgi_ts->irq_gpio, NULL); 346 347 del_timer_sync(&corgi_ts->timer); ··· 350 351 return 0; 351 352 } 352 353 353 - static struct device_driver corgits_driver = { 354 - .name = "corgi-ts", 355 - .bus = &platform_bus_type, 354 + static struct platform_driver corgits_driver = { 356 355 .probe = corgits_probe, 357 356 .remove = corgits_remove, 358 357 .suspend = corgits_suspend, 359 358 .resume = corgits_resume, 359 + .driver = { 360 + .name = "corgi-ts", 361 + }, 360 362 }; 361 363 362 364 static int __devinit corgits_init(void) 363 365 { 364 - return driver_register(&corgits_driver); 366 + return platform_driver_register(&corgits_driver); 365 367 } 366 368 367 369 static void __exit corgits_exit(void) 368 370 { 369 - driver_unregister(&corgits_driver); 371 + platform_driver_unregister(&corgits_driver); 370 372 } 371 373 372 374 module_init(corgits_init);
+16 -16
drivers/mfd/mcp-sa11x0.c
··· 138 138 .disable = mcp_sa11x0_disable, 139 139 }; 140 140 141 - static int mcp_sa11x0_probe(struct device *dev) 141 + static int mcp_sa11x0_probe(struct platform_device *pdev) 142 142 { 143 - struct platform_device *pdev = to_platform_device(dev); 144 143 struct mcp_plat_data *data = pdev->dev.platform_data; 145 144 struct mcp *mcp; 146 145 int ret; ··· 164 165 mcp->dma_telco_rd = DMA_Ser4MCP1Rd; 165 166 mcp->dma_telco_wr = DMA_Ser4MCP1Wr; 166 167 167 - dev_set_drvdata(dev, mcp); 168 + platform_set_drvdata(pdev, mcp); 168 169 169 170 if (machine_is_assabet()) { 170 171 ASSABET_BCR_set(ASSABET_BCR_CODEC_RST); ··· 201 202 202 203 release: 203 204 release_mem_region(0x80060000, 0x60); 204 - dev_set_drvdata(dev, NULL); 205 + platform_set_drvdata(pdev, NULL); 205 206 206 207 out: 207 208 return ret; 208 209 } 209 210 210 - static int mcp_sa11x0_remove(struct device *dev) 211 + static int mcp_sa11x0_remove(struct platform_device *dev) 211 212 { 212 - struct mcp *mcp = dev_get_drvdata(dev); 213 + struct mcp *mcp = platform_get_drvdata(dev); 213 214 214 - dev_set_drvdata(dev, NULL); 215 + platform_set_drvdata(dev, NULL); 215 216 mcp_host_unregister(mcp); 216 217 release_mem_region(0x80060000, 0x60); 217 218 218 219 return 0; 219 220 } 220 221 221 - static int mcp_sa11x0_suspend(struct device *dev, pm_message_t state) 222 + static int mcp_sa11x0_suspend(struct platform_device *dev, pm_message_t state) 222 223 { 223 - struct mcp *mcp = dev_get_drvdata(dev); 224 + struct mcp *mcp = platform_get_drvdata(dev); 224 225 225 226 priv(mcp)->mccr0 = Ser4MCCR0; 226 227 priv(mcp)->mccr1 = Ser4MCCR1; ··· 229 230 return 0; 230 231 } 231 232 232 - static int mcp_sa11x0_resume(struct device *dev) 233 + static int mcp_sa11x0_resume(struct platform_device *dev) 233 234 { 234 - struct mcp *mcp = dev_get_drvdata(dev); 235 + struct mcp *mcp = platform_get_drvdata(dev); 235 236 236 237 Ser4MCCR1 = priv(mcp)->mccr1; 237 238 Ser4MCCR0 = priv(mcp)->mccr0; ··· 242 243 /* 243 244 * The driver for the SA11x0 MCP port. 244 245 */ 245 - static struct device_driver mcp_sa11x0_driver = { 246 - .name = "sa11x0-mcp", 247 - .bus = &platform_bus_type, 246 + static struct platform_driver mcp_sa11x0_driver = { 248 247 .probe = mcp_sa11x0_probe, 249 248 .remove = mcp_sa11x0_remove, 250 249 .suspend = mcp_sa11x0_suspend, 251 250 .resume = mcp_sa11x0_resume, 251 + .driver = { 252 + .name = "sa11x0-mcp", 253 + }, 252 254 }; 253 255 254 256 /* ··· 257 257 */ 258 258 static int __init mcp_sa11x0_init(void) 259 259 { 260 - return driver_register(&mcp_sa11x0_driver); 260 + return platform_driver_register(&mcp_sa11x0_driver); 261 261 } 262 262 263 263 static void __exit mcp_sa11x0_exit(void) 264 264 { 265 - driver_unregister(&mcp_sa11x0_driver); 265 + platform_driver_unregister(&mcp_sa11x0_driver); 266 266 } 267 267 268 268 module_init(mcp_sa11x0_init);
+10 -10
drivers/misc/hdpuftrs/hdpu_cpustate.c
··· 27 27 28 28 #define SKY_CPUSTATE_VERSION "1.1" 29 29 30 - static int hdpu_cpustate_probe(struct device *ddev); 31 - static int hdpu_cpustate_remove(struct device *ddev); 30 + static int hdpu_cpustate_probe(struct platform_device *pdev); 31 + static int hdpu_cpustate_remove(struct platform_device *pdev); 32 32 33 33 struct cpustate_t cpustate; 34 34 ··· 159 159 return len; 160 160 } 161 161 162 - static struct device_driver hdpu_cpustate_driver = { 163 - .name = HDPU_CPUSTATE_NAME, 164 - .bus = &platform_bus_type, 162 + static struct platform_driver hdpu_cpustate_driver = { 165 163 .probe = hdpu_cpustate_probe, 166 164 .remove = hdpu_cpustate_remove, 165 + .driver = { 166 + .name = HDPU_CPUSTATE_NAME, 167 + }, 167 168 }; 168 169 169 170 /* ··· 189 188 &cpustate_fops 190 189 }; 191 190 192 - static int hdpu_cpustate_probe(struct device *ddev) 191 + static int hdpu_cpustate_probe(struct platform_device *pdev) 193 192 { 194 - struct platform_device *pdev = to_platform_device(ddev); 195 193 struct resource *res; 196 194 struct proc_dir_entry *proc_de; 197 195 int ret; ··· 218 218 return 0; 219 219 } 220 220 221 - static int hdpu_cpustate_remove(struct device *ddev) 221 + static int hdpu_cpustate_remove(struct platform_device *pdev) 222 222 { 223 223 224 224 cpustate.set_addr = NULL; ··· 233 233 static int __init cpustate_init(void) 234 234 { 235 235 int rc; 236 - rc = driver_register(&hdpu_cpustate_driver); 236 + rc = platform_driver_register(&hdpu_cpustate_driver); 237 237 return rc; 238 238 } 239 239 240 240 static void __exit cpustate_exit(void) 241 241 { 242 - driver_unregister(&hdpu_cpustate_driver); 242 + platform_driver_unregister(&hdpu_cpustate_driver); 243 243 } 244 244 245 245 module_init(cpustate_init);
+10 -10
drivers/misc/hdpuftrs/hdpu_nexus.c
··· 23 23 24 24 #include <linux/platform_device.h> 25 25 26 - static int hdpu_nexus_probe(struct device *ddev); 27 - static int hdpu_nexus_remove(struct device *ddev); 26 + static int hdpu_nexus_probe(struct platform_device *pdev); 27 + static int hdpu_nexus_remove(struct platform_device *pdev); 28 28 29 29 static struct proc_dir_entry *hdpu_slot_id; 30 30 static struct proc_dir_entry *hdpu_chassis_id; 31 31 static int slot_id = -1; 32 32 static int chassis_id = -1; 33 33 34 - static struct device_driver hdpu_nexus_driver = { 35 - .name = HDPU_NEXUS_NAME, 36 - .bus = &platform_bus_type, 34 + static struct platform_driver hdpu_nexus_driver = { 37 35 .probe = hdpu_nexus_probe, 38 36 .remove = hdpu_nexus_remove, 37 + .driver = { 38 + .name = HDPU_NEXUS_NAME, 39 + }, 39 40 }; 40 41 41 42 int hdpu_slot_id_read(char *buffer, char **buffer_location, off_t offset, ··· 57 56 return sprintf(buffer, "%d\n", chassis_id); 58 57 } 59 58 60 - static int hdpu_nexus_probe(struct device *ddev) 59 + static int hdpu_nexus_probe(struct platform_device *pdev) 61 60 { 62 - struct platform_device *pdev = to_platform_device(ddev); 63 61 struct resource *res; 64 62 65 63 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); ··· 81 81 return 0; 82 82 } 83 83 84 - static int hdpu_nexus_remove(struct device *ddev) 84 + static int hdpu_nexus_remove(struct platform_device *pdev) 85 85 { 86 86 slot_id = -1; 87 87 chassis_id = -1; ··· 95 95 static int __init nexus_init(void) 96 96 { 97 97 int rc; 98 - rc = driver_register(&hdpu_nexus_driver); 98 + rc = platform_driver_register(&hdpu_nexus_driver); 99 99 return rc; 100 100 } 101 101 102 102 static void __exit nexus_exit(void) 103 103 { 104 - driver_unregister(&hdpu_nexus_driver); 104 + platform_driver_unregister(&hdpu_nexus_driver); 105 105 } 106 106 107 107 module_init(nexus_init);
+21 -21
drivers/mmc/pxamci.c
··· 428 428 return IRQ_HANDLED; 429 429 } 430 430 431 - static int pxamci_probe(struct device *dev) 431 + static int pxamci_probe(struct platform_device *pdev) 432 432 { 433 - struct platform_device *pdev = to_platform_device(dev); 434 433 struct mmc_host *mmc; 435 434 struct pxamci_host *host = NULL; 436 435 struct resource *r; ··· 444 445 if (!r) 445 446 return -EBUSY; 446 447 447 - mmc = mmc_alloc_host(sizeof(struct pxamci_host), dev); 448 + mmc = mmc_alloc_host(sizeof(struct pxamci_host), &pdev->dev); 448 449 if (!mmc) { 449 450 ret = -ENOMEM; 450 451 goto out; ··· 473 474 host->pdata->ocr_mask : 474 475 MMC_VDD_32_33|MMC_VDD_33_34; 475 476 476 - host->sg_cpu = dma_alloc_coherent(dev, PAGE_SIZE, &host->sg_dma, GFP_KERNEL); 477 + host->sg_cpu = dma_alloc_coherent(&pdev->dev, PAGE_SIZE, &host->sg_dma, GFP_KERNEL); 477 478 if (!host->sg_cpu) { 478 479 ret = -ENOMEM; 479 480 goto out; ··· 510 511 if (ret) 511 512 goto out; 512 513 513 - dev_set_drvdata(dev, mmc); 514 + platform_set_drvdata(pdev, mmc); 514 515 515 516 if (host->pdata && host->pdata->init) 516 - host->pdata->init(dev, pxamci_detect_irq, mmc); 517 + host->pdata->init(&pdev->dev, pxamci_detect_irq, mmc); 517 518 518 519 mmc_add_host(mmc); 519 520 ··· 526 527 if (host->base) 527 528 iounmap(host->base); 528 529 if (host->sg_cpu) 529 - dma_free_coherent(dev, PAGE_SIZE, host->sg_cpu, host->sg_dma); 530 + dma_free_coherent(&pdev->dev, PAGE_SIZE, host->sg_cpu, host->sg_dma); 530 531 } 531 532 if (mmc) 532 533 mmc_free_host(mmc); ··· 534 535 return ret; 535 536 } 536 537 537 - static int pxamci_remove(struct device *dev) 538 + static int pxamci_remove(struct platform_device *pdev) 538 539 { 539 - struct mmc_host *mmc = dev_get_drvdata(dev); 540 + struct mmc_host *mmc = platform_get_drvdata(pdev); 540 541 541 - dev_set_drvdata(dev, NULL); 542 + platform_set_drvdata(pdev, NULL); 542 543 543 544 if (mmc) { 544 545 struct pxamci_host *host = mmc_priv(mmc); 545 546 546 547 if (host->pdata && host->pdata->exit) 547 - host->pdata->exit(dev, mmc); 548 + host->pdata->exit(&pdev->dev, mmc); 548 549 549 550 mmc_remove_host(mmc); 550 551 ··· 559 560 free_irq(host->irq, host); 560 561 pxa_free_dma(host->dma); 561 562 iounmap(host->base); 562 - dma_free_coherent(dev, PAGE_SIZE, host->sg_cpu, host->sg_dma); 563 + dma_free_coherent(&pdev->dev, PAGE_SIZE, host->sg_cpu, host->sg_dma); 563 564 564 565 release_resource(host->res); 565 566 ··· 569 570 } 570 571 571 572 #ifdef CONFIG_PM 572 - static int pxamci_suspend(struct device *dev, pm_message_t state) 573 + static int pxamci_suspend(struct platform_device *dev, pm_message_t state) 573 574 { 574 - struct mmc_host *mmc = dev_get_drvdata(dev); 575 + struct mmc_host *mmc = platform_get_drvdata(dev); 575 576 int ret = 0; 576 577 577 578 if (mmc) ··· 580 581 return ret; 581 582 } 582 583 583 - static int pxamci_resume(struct device *dev) 584 + static int pxamci_resume(struct platform_device *dev) 584 585 { 585 - struct mmc_host *mmc = dev_get_drvdata(dev); 586 + struct mmc_host *mmc = platform_get_drvdata(dev); 586 587 int ret = 0; 587 588 588 589 if (mmc) ··· 595 596 #define pxamci_resume NULL 596 597 #endif 597 598 598 - static struct device_driver pxamci_driver = { 599 - .name = DRIVER_NAME, 600 - .bus = &platform_bus_type, 599 + static struct platform_driver pxamci_driver = { 601 600 .probe = pxamci_probe, 602 601 .remove = pxamci_remove, 603 602 .suspend = pxamci_suspend, 604 603 .resume = pxamci_resume, 604 + .driver = { 605 + .name = DRIVER_NAME, 606 + }, 605 607 }; 606 608 607 609 static int __init pxamci_init(void) 608 610 { 609 - return driver_register(&pxamci_driver); 611 + return platform_driver_register(&pxamci_driver); 610 612 } 611 613 612 614 static void __exit pxamci_exit(void) 613 615 { 614 - driver_unregister(&pxamci_driver); 616 + platform_driver_unregister(&pxamci_driver); 615 617 } 616 618 617 619 module_init(pxamci_init);
+14 -13
drivers/mmc/wbsd.c
··· 1932 1932 * Non-PnP 1933 1933 */ 1934 1934 1935 - static int __devinit wbsd_probe(struct device* dev) 1935 + static int __devinit wbsd_probe(struct platform_device* dev) 1936 1936 { 1937 - return wbsd_init(dev, io, irq, dma, 0); 1937 + return wbsd_init(&dev->dev, io, irq, dma, 0); 1938 1938 } 1939 1939 1940 - static int __devexit wbsd_remove(struct device* dev) 1940 + static int __devexit wbsd_remove(struct platform_device* dev) 1941 1941 { 1942 - wbsd_shutdown(dev, 0); 1942 + wbsd_shutdown(&dev->dev, 0); 1943 1943 1944 1944 return 0; 1945 1945 } ··· 1983 1983 1984 1984 #ifdef CONFIG_PM 1985 1985 1986 - static int wbsd_suspend(struct device *dev, pm_message_t state) 1986 + static int wbsd_suspend(struct platform_device *dev, pm_message_t state) 1987 1987 { 1988 - struct mmc_host *mmc = dev_get_drvdata(dev); 1988 + struct mmc_host *mmc = platform_get_drvdata(dev); 1989 1989 struct wbsd_host *host; 1990 1990 int ret; 1991 1991 ··· 2005 2005 return 0; 2006 2006 } 2007 2007 2008 - static int wbsd_resume(struct device *dev) 2008 + static int wbsd_resume(struct platform_device *dev) 2009 2009 { 2010 - struct mmc_host *mmc = dev_get_drvdata(dev); 2010 + struct mmc_host *mmc = platform_get_drvdata(dev); 2011 2011 struct wbsd_host *host; 2012 2012 2013 2013 if (!mmc) ··· 2038 2038 2039 2039 static struct platform_device *wbsd_device; 2040 2040 2041 - static struct device_driver wbsd_driver = { 2042 - .name = DRIVER_NAME, 2043 - .bus = &platform_bus_type, 2041 + static struct platform_driver wbsd_driver = { 2044 2042 .probe = wbsd_probe, 2045 2043 .remove = wbsd_remove, 2046 2044 2047 2045 .suspend = wbsd_suspend, 2048 2046 .resume = wbsd_resume, 2047 + .driver = { 2048 + .name = DRIVER_NAME, 2049 + }, 2049 2050 }; 2050 2051 2051 2052 #ifdef CONFIG_PNP ··· 2086 2085 2087 2086 if (nopnp) 2088 2087 { 2089 - result = driver_register(&wbsd_driver); 2088 + result = platform_driver_register(&wbsd_driver); 2090 2089 if (result < 0) 2091 2090 return result; 2092 2091 ··· 2112 2111 { 2113 2112 platform_device_unregister(wbsd_device); 2114 2113 2115 - driver_unregister(&wbsd_driver); 2114 + platform_driver_unregister(&wbsd_driver); 2116 2115 } 2117 2116 2118 2117 DBG("unloaded\n");
+14 -19
drivers/mtd/maps/bast-flash.c
··· 63 63 64 64 static const char *probes[] = { "RedBoot", "cmdlinepart", NULL }; 65 65 66 - static struct bast_flash_info *to_bast_info(struct device *dev) 67 - { 68 - return (struct bast_flash_info *)dev_get_drvdata(dev); 69 - } 70 - 71 66 static void bast_flash_setrw(int to) 72 67 { 73 68 unsigned int val; ··· 82 87 local_irq_restore(flags); 83 88 } 84 89 85 - static int bast_flash_remove(struct device *dev) 90 + static int bast_flash_remove(struct platform_device *pdev) 86 91 { 87 - struct bast_flash_info *info = to_bast_info(dev); 92 + struct bast_flash_info *info = platform_get_drvdata(pdev); 88 93 89 - dev_set_drvdata(dev, NULL); 94 + platform_set_drvdata(pdev, NULL); 90 95 91 96 if (info == NULL) 92 97 return 0; ··· 111 116 return 0; 112 117 } 113 118 114 - static int bast_flash_probe(struct device *dev) 119 + static int bast_flash_probe(struct platform_device *pdev) 115 120 { 116 - struct platform_device *pdev = to_platform_device(dev); 117 121 struct bast_flash_info *info; 118 122 struct resource *res; 119 123 int err = 0; ··· 125 131 } 126 132 127 133 memzero(info, sizeof(*info)); 128 - dev_set_drvdata(dev, info); 134 + platform_set_drvdata(pdev, info); 129 135 130 136 res = pdev->resource; /* assume that the flash has one resource */ 131 137 132 138 info->map.phys = res->start; 133 139 info->map.size = res->end - res->start + 1; 134 - info->map.name = dev->bus_id; 140 + info->map.name = pdev->dev.bus_id; 135 141 info->map.bankwidth = 2; 136 142 137 143 if (info->map.size > AREA_MAXSIZE) ··· 193 199 /* fall through to exit error */ 194 200 195 201 exit_error: 196 - bast_flash_remove(dev); 202 + bast_flash_remove(pdev); 197 203 return err; 198 204 } 199 205 200 - static struct device_driver bast_flash_driver = { 201 - .name = "bast-nor", 202 - .owner = THIS_MODULE, 203 - .bus = &platform_bus_type, 206 + static struct platform_driver bast_flash_driver = { 204 207 .probe = bast_flash_probe, 205 208 .remove = bast_flash_remove, 209 + .driver = { 210 + .name = "bast-nor", 211 + .owner = THIS_MODULE, 212 + }, 206 213 }; 207 214 208 215 static int __init bast_flash_init(void) 209 216 { 210 217 printk("BAST NOR-Flash Driver, (c) 2004 Simtec Electronics\n"); 211 - return driver_register(&bast_flash_driver); 218 + return platform_driver_register(&bast_flash_driver); 212 219 } 213 220 214 221 static void __exit bast_flash_exit(void) 215 222 { 216 - driver_unregister(&bast_flash_driver); 223 + platform_driver_unregister(&bast_flash_driver); 217 224 } 218 225 219 226 module_init(bast_flash_init);
+11 -12
drivers/mtd/maps/integrator-flash.c
··· 67 67 68 68 static const char *probes[] = { "cmdlinepart", "RedBoot", "afs", NULL }; 69 69 70 - static int armflash_probe(struct device *_dev) 70 + static int armflash_probe(struct platform_device *dev) 71 71 { 72 - struct platform_device *dev = to_platform_device(_dev); 73 72 struct flash_platform_data *plat = dev->dev.platform_data; 74 73 struct resource *res = dev->resource; 75 74 unsigned int size = res->end - res->start + 1; ··· 137 138 } 138 139 139 140 if (err == 0) 140 - dev_set_drvdata(&dev->dev, info); 141 + platform_set_drvdata(dev, info); 141 142 142 143 /* 143 144 * If we got an error, free all resources. ··· 162 163 return err; 163 164 } 164 165 165 - static int armflash_remove(struct device *_dev) 166 + static int armflash_remove(struct platform_device *dev) 166 167 { 167 - struct platform_device *dev = to_platform_device(_dev); 168 - struct armflash_info *info = dev_get_drvdata(&dev->dev); 168 + struct armflash_info *info = platform_get_drvdata(dev); 169 169 170 - dev_set_drvdata(&dev->dev, NULL); 170 + platform_set_drvdata(dev, NULL); 171 171 172 172 if (info) { 173 173 if (info->mtd) { ··· 188 190 return 0; 189 191 } 190 192 191 - static struct device_driver armflash_driver = { 192 - .name = "armflash", 193 - .bus = &platform_bus_type, 193 + static struct platform_driver armflash_driver = { 194 194 .probe = armflash_probe, 195 195 .remove = armflash_remove, 196 + .driver = { 197 + .name = "armflash", 198 + }, 196 199 }; 197 200 198 201 static int __init armflash_init(void) 199 202 { 200 - return driver_register(&armflash_driver); 203 + return platform_driver_register(&armflash_driver); 201 204 } 202 205 203 206 static void __exit armflash_exit(void) 204 207 { 205 - driver_unregister(&armflash_driver); 208 + platform_driver_unregister(&armflash_driver); 206 209 } 207 210 208 211 module_init(armflash_init);
+12 -13
drivers/mtd/maps/ixp2000.c
··· 111 111 } 112 112 113 113 114 - static int ixp2000_flash_remove(struct device *_dev) 114 + static int ixp2000_flash_remove(struct platform_device *dev) 115 115 { 116 - struct platform_device *dev = to_platform_device(_dev); 117 116 struct flash_platform_data *plat = dev->dev.platform_data; 118 - struct ixp2000_flash_info *info = dev_get_drvdata(&dev->dev); 117 + struct ixp2000_flash_info *info = platform_get_drvdata(dev); 119 118 120 - dev_set_drvdata(&dev->dev, NULL); 119 + platform_set_drvdata(dev, NULL); 121 120 122 121 if(!info) 123 122 return 0; ··· 142 143 } 143 144 144 145 145 - static int ixp2000_flash_probe(struct device *_dev) 146 + static int ixp2000_flash_probe(struct platform_device *dev) 146 147 { 147 148 static const char *probes[] = { "RedBoot", "cmdlinepart", NULL }; 148 - struct platform_device *dev = to_platform_device(_dev); 149 149 struct ixp2000_flash_data *ixp_data = dev->dev.platform_data; 150 150 struct flash_platform_data *plat; 151 151 struct ixp2000_flash_info *info; ··· 175 177 } 176 178 memzero(info, sizeof(struct ixp2000_flash_info)); 177 179 178 - dev_set_drvdata(&dev->dev, info); 180 + platform_set_drvdata(dev, info); 179 181 180 182 /* 181 183 * Tell the MTD layer we're not 1:1 mapped so that it does ··· 246 248 return 0; 247 249 248 250 Error: 249 - ixp2000_flash_remove(_dev); 251 + ixp2000_flash_remove(dev); 250 252 return err; 251 253 } 252 254 253 - static struct device_driver ixp2000_flash_driver = { 254 - .name = "IXP2000-Flash", 255 - .bus = &platform_bus_type, 255 + static struct platform_driver ixp2000_flash_driver = { 256 256 .probe = &ixp2000_flash_probe, 257 257 .remove = &ixp2000_flash_remove 258 + .driver = { 259 + .name = "IXP2000-Flash", 260 + }, 258 261 }; 259 262 260 263 static int __init ixp2000_flash_init(void) 261 264 { 262 - return driver_register(&ixp2000_flash_driver); 265 + return platform_driver_register(&ixp2000_flash_driver); 263 266 } 264 267 265 268 static void __exit ixp2000_flash_exit(void) 266 269 { 267 - driver_unregister(&ixp2000_flash_driver); 270 + platform_driver_unregister(&ixp2000_flash_driver); 268 271 } 269 272 270 273 module_init(ixp2000_flash_init);
+12 -13
drivers/mtd/maps/ixp4xx.c
··· 99 99 100 100 static const char *probes[] = { "RedBoot", "cmdlinepart", NULL }; 101 101 102 - static int ixp4xx_flash_remove(struct device *_dev) 102 + static int ixp4xx_flash_remove(struct platform_device *dev) 103 103 { 104 - struct platform_device *dev = to_platform_device(_dev); 105 104 struct flash_platform_data *plat = dev->dev.platform_data; 106 - struct ixp4xx_flash_info *info = dev_get_drvdata(&dev->dev); 105 + struct ixp4xx_flash_info *info = platform_get_drvdata(dev); 107 106 108 - dev_set_drvdata(&dev->dev, NULL); 107 + platform_set_drvdata(dev, NULL); 109 108 110 109 if(!info) 111 110 return 0; ··· 129 130 return 0; 130 131 } 131 132 132 - static int ixp4xx_flash_probe(struct device *_dev) 133 + static int ixp4xx_flash_probe(struct platform_device *dev) 133 134 { 134 - struct platform_device *dev = to_platform_device(_dev); 135 135 struct flash_platform_data *plat = dev->dev.platform_data; 136 136 struct ixp4xx_flash_info *info; 137 137 int err = -1; ··· 151 153 } 152 154 memzero(info, sizeof(struct ixp4xx_flash_info)); 153 155 154 - dev_set_drvdata(&dev->dev, info); 156 + platform_set_drvdata(dev, info); 155 157 156 158 /* 157 159 * Tell the MTD layer we're not 1:1 mapped so that it does ··· 212 214 return 0; 213 215 214 216 Error: 215 - ixp4xx_flash_remove(_dev); 217 + ixp4xx_flash_remove(dev); 216 218 return err; 217 219 } 218 220 219 - static struct device_driver ixp4xx_flash_driver = { 220 - .name = "IXP4XX-Flash", 221 - .bus = &platform_bus_type, 221 + static struct platform_driver ixp4xx_flash_driver = { 222 222 .probe = ixp4xx_flash_probe, 223 223 .remove = ixp4xx_flash_remove, 224 + .driver = { 225 + .name = "IXP4XX-Flash", 226 + }, 224 227 }; 225 228 226 229 static int __init ixp4xx_flash_init(void) 227 230 { 228 - return driver_register(&ixp4xx_flash_driver); 231 + return platform_driver_register(&ixp4xx_flash_driver); 229 232 } 230 233 231 234 static void __exit ixp4xx_flash_exit(void) 232 235 { 233 - driver_unregister(&ixp4xx_flash_driver); 236 + platform_driver_unregister(&ixp4xx_flash_driver); 234 237 } 235 238 236 239
+11 -12
drivers/mtd/maps/omap_nor.c
··· 70 70 } 71 71 } 72 72 73 - static int __devinit omapflash_probe(struct device *dev) 73 + static int __devinit omapflash_probe(struct platform_device *pdev) 74 74 { 75 75 int err; 76 76 struct omapflash_info *info; 77 - struct platform_device *pdev = to_platform_device(dev); 78 77 struct flash_platform_data *pdata = pdev->dev.platform_data; 79 78 struct resource *res = pdev->resource; 80 79 unsigned long size = res->end - res->start + 1; ··· 118 119 #endif 119 120 add_mtd_device(info->mtd); 120 121 121 - dev_set_drvdata(&pdev->dev, info); 122 + platform_set_drvdata(pdev, info); 122 123 123 124 return 0; 124 125 ··· 132 133 return err; 133 134 } 134 135 135 - static int __devexit omapflash_remove(struct device *dev) 136 + static int __devexit omapflash_remove(struct platform_device *pdev) 136 137 { 137 - struct platform_device *pdev = to_platform_device(dev); 138 - struct omapflash_info *info = dev_get_drvdata(&pdev->dev); 138 + struct omapflash_info *info = platform_get_drvdata(pdev); 139 139 140 - dev_set_drvdata(&pdev->dev, NULL); 140 + platform_set_drvdata(pdev, NULL); 141 141 142 142 if (info) { 143 143 if (info->parts) { ··· 153 155 return 0; 154 156 } 155 157 156 - static struct device_driver omapflash_driver = { 157 - .name = "omapflash", 158 - .bus = &platform_bus_type, 158 + static struct platform_driver omapflash_driver = { 159 159 .probe = omapflash_probe, 160 160 .remove = __devexit_p(omapflash_remove), 161 + .driver = { 162 + .name = "omapflash", 163 + }, 161 164 }; 162 165 163 166 static int __init omapflash_init(void) 164 167 { 165 - return driver_register(&omapflash_driver); 168 + return platform_driver_register(&omapflash_driver); 166 169 } 167 170 168 171 static void __exit omapflash_exit(void) 169 172 { 170 - driver_unregister(&omapflash_driver); 173 + platform_driver_unregister(&omapflash_driver); 171 174 } 172 175 173 176 module_init(omapflash_init);
+34 -34
drivers/mtd/maps/plat-ram.c
··· 56 56 * device private data to struct platram_info conversion 57 57 */ 58 58 59 - static inline struct platram_info *to_platram_info(struct device *dev) 59 + static inline struct platram_info *to_platram_info(struct platform_device *dev) 60 60 { 61 - return (struct platram_info *)dev_get_drvdata(dev); 61 + return (struct platram_info *)platform_get_drvdata(dev); 62 62 } 63 63 64 64 /* platram_setrw ··· 83 83 * called to remove the device from the driver's control 84 84 */ 85 85 86 - static int platram_remove(struct device *dev) 86 + static int platram_remove(struct platform_device *pdev) 87 87 { 88 - struct platram_info *info = to_platram_info(dev); 88 + struct platram_info *info = to_platram_info(pdev); 89 89 90 - dev_set_drvdata(dev, NULL); 90 + platform_set_drvdata(pdev, NULL); 91 91 92 - dev_dbg(dev, "removing device\n"); 92 + dev_dbg(&pdev->dev, "removing device\n"); 93 93 94 94 if (info == NULL) 95 95 return 0; ··· 130 130 * driver is found. 131 131 */ 132 132 133 - static int platram_probe(struct device *dev) 133 + static int platram_probe(struct platform_device *pdev) 134 134 { 135 - struct platform_device *pd = to_platform_device(dev); 136 135 struct platdata_mtd_ram *pdata; 137 136 struct platram_info *info; 138 137 struct resource *res; 139 138 int err = 0; 140 139 141 - dev_dbg(dev, "probe entered\n"); 140 + dev_dbg(&pdev->dev, "probe entered\n"); 142 141 143 - if (dev->platform_data == NULL) { 144 - dev_err(dev, "no platform data supplied\n"); 142 + if (pdev->dev.platform_data == NULL) { 143 + dev_err(&pdev->dev, "no platform data supplied\n"); 145 144 err = -ENOENT; 146 145 goto exit_error; 147 146 } 148 147 149 - pdata = dev->platform_data; 148 + pdata = pdev->dev.platform_data; 150 149 151 150 info = kmalloc(sizeof(*info), GFP_KERNEL); 152 151 if (info == NULL) { 153 - dev_err(dev, "no memory for flash info\n"); 152 + dev_err(&pdev->dev, "no memory for flash info\n"); 154 153 err = -ENOMEM; 155 154 goto exit_error; 156 155 } 157 156 158 157 memset(info, 0, sizeof(*info)); 159 - dev_set_drvdata(dev, info); 158 + platform_set_drvdata(pdev, info); 160 159 161 - info->dev = dev; 160 + info->dev = &pdev->dev; 162 161 info->pdata = pdata; 163 162 164 163 /* get the resource for the memory mapping */ 165 164 166 - res = platform_get_resource(pd, IORESOURCE_MEM, 0); 165 + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 167 166 168 167 if (res == NULL) { 169 - dev_err(dev, "no memory resource specified\n"); 168 + dev_err(&pdev->dev, "no memory resource specified\n"); 170 169 err = -ENOENT; 171 170 goto exit_free; 172 171 } 173 172 174 - dev_dbg(dev, "got platform resource %p (0x%lx)\n", res, res->start); 173 + dev_dbg(&pdev->dev, "got platform resource %p (0x%lx)\n", res, res->start); 175 174 176 175 /* setup map parameters */ 177 176 178 177 info->map.phys = res->start; 179 178 info->map.size = (res->end - res->start) + 1; 180 - info->map.name = pdata->mapname != NULL ? pdata->mapname : (char *)pd->name; 179 + info->map.name = pdata->mapname != NULL ? pdata->mapname : (char *)pdev->name; 181 180 info->map.bankwidth = pdata->bankwidth; 182 181 183 182 /* register our usage of the memory area */ 184 183 185 - info->area = request_mem_region(res->start, info->map.size, pd->name); 184 + info->area = request_mem_region(res->start, info->map.size, pdev->name); 186 185 if (info->area == NULL) { 187 - dev_err(dev, "failed to request memory region\n"); 186 + dev_err(&pdev->dev, "failed to request memory region\n"); 188 187 err = -EIO; 189 188 goto exit_free; 190 189 } ··· 191 192 /* remap the memory area */ 192 193 193 194 info->map.virt = ioremap(res->start, info->map.size); 194 - dev_dbg(dev, "virt %p, %lu bytes\n", info->map.virt, info->map.size); 195 + dev_dbg(&pdev->dev, "virt %p, %lu bytes\n", info->map.virt, info->map.size); 195 196 196 197 if (info->map.virt == NULL) { 197 - dev_err(dev, "failed to ioremap() region\n"); 198 + dev_err(&pdev->dev, "failed to ioremap() region\n"); 198 199 err = -EIO; 199 200 goto exit_free; 200 201 } 201 202 202 203 simple_map_init(&info->map); 203 204 204 - dev_dbg(dev, "initialised map, probing for mtd\n"); 205 + dev_dbg(&pdev->dev, "initialised map, probing for mtd\n"); 205 206 206 207 /* probe for the right mtd map driver */ 207 208 208 209 info->mtd = do_map_probe("map_ram" , &info->map); 209 210 if (info->mtd == NULL) { 210 - dev_err(dev, "failed to probe for map_ram\n"); 211 + dev_err(&pdev->dev, "failed to probe for map_ram\n"); 211 212 err = -ENOMEM; 212 213 goto exit_free; 213 214 } ··· 236 237 #endif /* CONFIG_MTD_PARTITIONS */ 237 238 238 239 if (add_mtd_device(info->mtd)) { 239 - dev_err(dev, "add_mtd_device() failed\n"); 240 + dev_err(&pdev->dev, "add_mtd_device() failed\n"); 240 241 err = -ENOMEM; 241 242 } 242 243 243 - dev_info(dev, "registered mtd device\n"); 244 + dev_info(&pdev->dev, "registered mtd device\n"); 244 245 return err; 245 246 246 247 exit_free: 247 - platram_remove(dev); 248 + platram_remove(pdev); 248 249 exit_error: 249 250 return err; 250 251 } 251 252 252 253 /* device driver info */ 253 254 254 - static struct device_driver platram_driver = { 255 - .name = "mtd-ram", 256 - .owner = THIS_MODULE, 257 - .bus = &platform_bus_type, 255 + static struct platform_driver platram_driver = { 258 256 .probe = platram_probe, 259 257 .remove = platram_remove, 258 + .driver = { 259 + .name = "mtd-ram", 260 + .owner = THIS_MODULE, 261 + }, 260 262 }; 261 263 262 264 /* module init/exit */ ··· 265 265 static int __init platram_init(void) 266 266 { 267 267 printk("Generic platform RAM MTD, (c) 2004 Simtec Electronics\n"); 268 - return driver_register(&platram_driver); 268 + return platform_driver_register(&platram_driver); 269 269 } 270 270 271 271 static void __exit platram_exit(void) 272 272 { 273 - driver_unregister(&platram_driver); 273 + platform_driver_unregister(&platram_driver); 274 274 } 275 275 276 276 module_init(platram_init);
+18 -18
drivers/mtd/maps/sa1100-flash.c
··· 356 356 357 357 static const char *part_probes[] = { "cmdlinepart", "RedBoot", NULL }; 358 358 359 - static int __init sa1100_mtd_probe(struct device *dev) 359 + static int __init sa1100_mtd_probe(struct platform_device *pdev) 360 360 { 361 - struct platform_device *pdev = to_platform_device(dev); 362 361 struct flash_platform_data *plat = pdev->dev.platform_data; 363 362 struct mtd_partition *parts; 364 363 const char *part_type = NULL; ··· 401 402 402 403 info->nr_parts = nr_parts; 403 404 404 - dev_set_drvdata(dev, info); 405 + platform_set_drvdata(pdev, info); 405 406 err = 0; 406 407 407 408 out: 408 409 return err; 409 410 } 410 411 411 - static int __exit sa1100_mtd_remove(struct device *dev) 412 + static int __exit sa1100_mtd_remove(struct platform_device *pdev) 412 413 { 413 - struct sa_info *info = dev_get_drvdata(dev); 414 - struct flash_platform_data *plat = dev->platform_data; 414 + struct sa_info *info = platform_get_drvdata(pdev); 415 + struct flash_platform_data *plat = pdev->dev.platform_data; 415 416 416 - dev_set_drvdata(dev, NULL); 417 + platform_set_drvdata(pdev, NULL); 417 418 sa1100_destroy(info, plat); 418 419 419 420 return 0; 420 421 } 421 422 422 423 #ifdef CONFIG_PM 423 - static int sa1100_mtd_suspend(struct device *dev, pm_message_t state) 424 + static int sa1100_mtd_suspend(struct platform_device *dev, pm_message_t state) 424 425 { 425 - struct sa_info *info = dev_get_drvdata(dev); 426 + struct sa_info *info = platform_get_drvdata(dev); 426 427 int ret = 0; 427 428 428 429 if (info) ··· 431 432 return ret; 432 433 } 433 434 434 - static int sa1100_mtd_resume(struct device *dev) 435 + static int sa1100_mtd_resume(struct platform_device *dev) 435 436 { 436 - struct sa_info *info = dev_get_drvdata(dev); 437 + struct sa_info *info = platform_get_drvdata(dev); 437 438 if (info) 438 439 info->mtd->resume(info->mtd); 439 440 return 0; 440 441 } 441 442 442 - static void sa1100_mtd_shutdown(struct device *dev) 443 + static void sa1100_mtd_shutdown(struct platform_device *dev) 443 444 { 444 - struct sa_info *info = dev_get_drvdata(dev); 445 + struct sa_info *info = platform_get_drvdata(dev); 445 446 if (info && info->mtd->suspend(info->mtd) == 0) 446 447 info->mtd->resume(info->mtd); 447 448 } ··· 451 452 #define sa1100_mtd_shutdown NULL 452 453 #endif 453 454 454 - static struct device_driver sa1100_mtd_driver = { 455 - .name = "flash", 456 - .bus = &platform_bus_type, 455 + static struct platform_driver sa1100_mtd_driver = { 457 456 .probe = sa1100_mtd_probe, 458 457 .remove = __exit_p(sa1100_mtd_remove), 459 458 .suspend = sa1100_mtd_suspend, 460 459 .resume = sa1100_mtd_resume, 461 460 .shutdown = sa1100_mtd_shutdown, 461 + .driver = { 462 + .name = "flash", 463 + }, 462 464 }; 463 465 464 466 static int __init sa1100_mtd_init(void) 465 467 { 466 - return driver_register(&sa1100_mtd_driver); 468 + return platform_driver_register(&sa1100_mtd_driver); 467 469 } 468 470 469 471 static void __exit sa1100_mtd_exit(void) 470 472 { 471 - driver_unregister(&sa1100_mtd_driver); 473 + platform_driver_unregister(&sa1100_mtd_driver); 472 474 } 473 475 474 476 module_init(sa1100_mtd_init);
+39 -38
drivers/mtd/nand/s3c2410.c
··· 125 125 return s3c2410_nand_mtd_toours(mtd)->info; 126 126 } 127 127 128 - static struct s3c2410_nand_info *to_nand_info(struct device *dev) 128 + static struct s3c2410_nand_info *to_nand_info(struct platform_device *dev) 129 129 { 130 - return dev_get_drvdata(dev); 130 + return platform_get_drvdata(dev); 131 131 } 132 132 133 - static struct s3c2410_platform_nand *to_nand_plat(struct device *dev) 133 + static struct s3c2410_platform_nand *to_nand_plat(struct platform_device *dev) 134 134 { 135 - return dev->platform_data; 135 + return dev->dev.platform_data; 136 136 } 137 137 138 138 /* timing calculations */ ··· 165 165 /* controller setup */ 166 166 167 167 static int s3c2410_nand_inithw(struct s3c2410_nand_info *info, 168 - struct device *dev) 168 + struct platform_device *pdev) 169 169 { 170 - struct s3c2410_platform_nand *plat = to_nand_plat(dev); 170 + struct s3c2410_platform_nand *plat = to_nand_plat(pdev); 171 171 unsigned long clkrate = clk_get_rate(info->clk); 172 172 int tacls, twrph0, twrph1; 173 173 unsigned long cfg; ··· 430 430 431 431 /* device management functions */ 432 432 433 - static int s3c2410_nand_remove(struct device *dev) 433 + static int s3c2410_nand_remove(struct platform_device *pdev) 434 434 { 435 - struct s3c2410_nand_info *info = to_nand_info(dev); 435 + struct s3c2410_nand_info *info = to_nand_info(pdev); 436 436 437 - dev_set_drvdata(dev, NULL); 437 + platform_set_drvdata(pdev, NULL); 438 438 439 439 if (info == NULL) 440 440 return 0; ··· 562 562 * nand layer to look for devices 563 563 */ 564 564 565 - static int s3c24xx_nand_probe(struct device *dev, int is_s3c2440) 565 + static int s3c24xx_nand_probe(struct platform_device *pdev, int is_s3c2440) 566 566 { 567 - struct platform_device *pdev = to_platform_device(dev); 568 - struct s3c2410_platform_nand *plat = to_nand_plat(dev); 567 + struct s3c2410_platform_nand *plat = to_nand_plat(pdev); 569 568 struct s3c2410_nand_info *info; 570 569 struct s3c2410_nand_mtd *nmtd; 571 570 struct s3c2410_nand_set *sets; ··· 574 575 int nr_sets; 575 576 int setno; 576 577 577 - pr_debug("s3c2410_nand_probe(%p)\n", dev); 578 + pr_debug("s3c2410_nand_probe(%p)\n", pdev); 578 579 579 580 info = kmalloc(sizeof(*info), GFP_KERNEL); 580 581 if (info == NULL) { 581 - dev_err(dev, "no memory for flash info\n"); 582 + dev_err(&pdev->dev, "no memory for flash info\n"); 582 583 err = -ENOMEM; 583 584 goto exit_error; 584 585 } 585 586 586 587 memzero(info, sizeof(*info)); 587 - dev_set_drvdata(dev, info); 588 + platform_set_drvdata(pdev, info); 588 589 589 590 spin_lock_init(&info->controller.lock); 590 591 init_waitqueue_head(&info->controller.wq); 591 592 592 593 /* get the clock source and enable it */ 593 594 594 - info->clk = clk_get(dev, "nand"); 595 + info->clk = clk_get(&pdev->dev, "nand"); 595 596 if (IS_ERR(info->clk)) { 596 - dev_err(dev, "failed to get clock"); 597 + dev_err(&pdev->dev, "failed to get clock"); 597 598 err = -ENOENT; 598 599 goto exit_error; 599 600 } ··· 610 611 info->area = request_mem_region(res->start, size, pdev->name); 611 612 612 613 if (info->area == NULL) { 613 - dev_err(dev, "cannot reserve register region\n"); 614 + dev_err(&pdev->dev, "cannot reserve register region\n"); 614 615 err = -ENOENT; 615 616 goto exit_error; 616 617 } 617 618 618 - info->device = dev; 619 + info->device = &pdev->dev; 619 620 info->platform = plat; 620 621 info->regs = ioremap(res->start, size); 621 622 info->is_s3c2440 = is_s3c2440; 622 623 623 624 if (info->regs == NULL) { 624 - dev_err(dev, "cannot reserve register region\n"); 625 + dev_err(&pdev->dev, "cannot reserve register region\n"); 625 626 err = -EIO; 626 627 goto exit_error; 627 628 } 628 629 629 - dev_dbg(dev, "mapped registers at %p\n", info->regs); 630 + dev_dbg(&pdev->dev, "mapped registers at %p\n", info->regs); 630 631 631 632 /* initialise the hardware */ 632 633 633 - err = s3c2410_nand_inithw(info, dev); 634 + err = s3c2410_nand_inithw(info, pdev); 634 635 if (err != 0) 635 636 goto exit_error; 636 637 ··· 644 645 size = nr_sets * sizeof(*info->mtds); 645 646 info->mtds = kmalloc(size, GFP_KERNEL); 646 647 if (info->mtds == NULL) { 647 - dev_err(dev, "failed to allocate mtd storage\n"); 648 + dev_err(&pdev->dev, "failed to allocate mtd storage\n"); 648 649 err = -ENOMEM; 649 650 goto exit_error; 650 651 } ··· 676 677 return 0; 677 678 678 679 exit_error: 679 - s3c2410_nand_remove(dev); 680 + s3c2410_nand_remove(pdev); 680 681 681 682 if (err == 0) 682 683 err = -EINVAL; ··· 685 686 686 687 /* driver device registration */ 687 688 688 - static int s3c2410_nand_probe(struct device *dev) 689 + static int s3c2410_nand_probe(struct platform_device *dev) 689 690 { 690 691 return s3c24xx_nand_probe(dev, 0); 691 692 } 692 693 693 - static int s3c2440_nand_probe(struct device *dev) 694 + static int s3c2440_nand_probe(struct platform_device *dev) 694 695 { 695 696 return s3c24xx_nand_probe(dev, 1); 696 697 } 697 698 698 - static struct device_driver s3c2410_nand_driver = { 699 - .name = "s3c2410-nand", 700 - .owner = THIS_MODULE, 701 - .bus = &platform_bus_type, 699 + static struct platform_driver s3c2410_nand_driver = { 702 700 .probe = s3c2410_nand_probe, 703 701 .remove = s3c2410_nand_remove, 702 + .driver = { 703 + .name = "s3c2410-nand", 704 + .owner = THIS_MODULE, 705 + }, 704 706 }; 705 707 706 - static struct device_driver s3c2440_nand_driver = { 707 - .name = "s3c2440-nand", 708 - .owner = THIS_MODULE, 709 - .bus = &platform_bus_type, 708 + static struct platform_driver s3c2440_nand_driver = { 710 709 .probe = s3c2440_nand_probe, 711 710 .remove = s3c2410_nand_remove, 711 + .driver = { 712 + .name = "s3c2440-nand", 713 + .owner = THIS_MODULE, 714 + }, 712 715 }; 713 716 714 717 static int __init s3c2410_nand_init(void) 715 718 { 716 719 printk("S3C24XX NAND Driver, (c) 2004 Simtec Electronics\n"); 717 720 718 - driver_register(&s3c2440_nand_driver); 719 - return driver_register(&s3c2410_nand_driver); 721 + platform_driver_register(&s3c2440_nand_driver); 722 + return platform_driver_register(&s3c2410_nand_driver); 720 723 } 721 724 722 725 static void __exit s3c2410_nand_exit(void) 723 726 { 724 - driver_unregister(&s3c2440_nand_driver); 725 - driver_unregister(&s3c2410_nand_driver); 727 + platform_driver_unregister(&s3c2440_nand_driver); 728 + platform_driver_unregister(&s3c2410_nand_driver); 726 729 } 727 730 728 731 module_init(s3c2410_nand_init);
+16 -10
drivers/net/depca.c
··· 398 398 }; 399 399 #endif 400 400 401 - static int depca_isa_probe (struct device *); 401 + static int depca_isa_probe (struct platform_device *); 402 402 403 - static struct device_driver depca_isa_driver = { 404 - .name = depca_string, 405 - .bus = &platform_bus_type, 403 + static int __devexit depca_isa_remove(struct platform_device *pdev) 404 + { 405 + return depca_device_remove(&pdev->dev); 406 + } 407 + 408 + static struct platform_driver depca_isa_driver = { 406 409 .probe = depca_isa_probe, 407 - .remove = __devexit_p(depca_device_remove), 410 + .remove = __devexit_p(depca_isa_remove), 411 + .driver = { 412 + .name = depca_string, 413 + }, 408 414 }; 409 415 410 416 /* ··· 1531 1525 return adapter; 1532 1526 } 1533 1527 1534 - static int __init depca_isa_probe (struct device *device) 1528 + static int __init depca_isa_probe (struct platform_device *device) 1535 1529 { 1536 1530 struct net_device *dev; 1537 1531 struct depca_private *lp; ··· 1539 1533 enum depca_type adapter = unknown; 1540 1534 int status = 0; 1541 1535 1542 - ioaddr = (u_long) device->platform_data; 1536 + ioaddr = (u_long) device->dev.platform_data; 1543 1537 1544 1538 if ((status = depca_common_init (ioaddr, &dev))) 1545 1539 goto out; ··· 1559 1553 lp->adapter = adapter; 1560 1554 lp->mem_start = mem_start; 1561 1555 1562 - if ((status = depca_hw_init(dev, device))) 1556 + if ((status = depca_hw_init(dev, &device->dev))) 1563 1557 goto out_free; 1564 1558 1565 1559 return 0; ··· 2088 2082 #ifdef CONFIG_EISA 2089 2083 err |= eisa_driver_register (&depca_eisa_driver); 2090 2084 #endif 2091 - err |= driver_register (&depca_isa_driver); 2085 + err |= platform_driver_register (&depca_isa_driver); 2092 2086 depca_platform_probe (); 2093 2087 2094 2088 return err; ··· 2103 2097 #ifdef CONFIG_EISA 2104 2098 eisa_driver_unregister (&depca_eisa_driver); 2105 2099 #endif 2106 - driver_unregister (&depca_isa_driver); 2100 + platform_driver_unregister (&depca_isa_driver); 2107 2101 2108 2102 for (i = 0; depca_io_ports[i].iobase; i++) { 2109 2103 if (depca_io_ports[i].device) {
+17 -18
drivers/net/dm9000.c
··· 149 149 } board_info_t; 150 150 151 151 /* function declaration ------------------------------------- */ 152 - static int dm9000_probe(struct device *); 152 + static int dm9000_probe(struct platform_device *); 153 153 static int dm9000_open(struct net_device *); 154 154 static int dm9000_start_xmit(struct sk_buff *, struct net_device *); 155 155 static int dm9000_stop(struct net_device *); ··· 379 379 * Search DM9000 board, allocate space and register it 380 380 */ 381 381 static int 382 - dm9000_probe(struct device *dev) 382 + dm9000_probe(struct platform_device *pdev) 383 383 { 384 - struct platform_device *pdev = to_platform_device(dev); 385 384 struct dm9000_plat_data *pdata = pdev->dev.platform_data; 386 385 struct board_info *db; /* Point a board information structure */ 387 386 struct net_device *ndev; ··· 398 399 } 399 400 400 401 SET_MODULE_OWNER(ndev); 401 - SET_NETDEV_DEV(ndev, dev); 402 + SET_NETDEV_DEV(ndev, &pdev->dev); 402 403 403 404 PRINTK2("dm9000_probe()"); 404 405 ··· 569 570 printk("%s: Invalid ethernet MAC address. Please " 570 571 "set using ifconfig\n", ndev->name); 571 572 572 - dev_set_drvdata(dev, ndev); 573 + platform_set_drvdata(pdev, ndev); 573 574 ret = register_netdev(ndev); 574 575 575 576 if (ret == 0) { ··· 1140 1141 } 1141 1142 1142 1143 static int 1143 - dm9000_drv_suspend(struct device *dev, pm_message_t state) 1144 + dm9000_drv_suspend(struct platform_device *dev, pm_message_t state) 1144 1145 { 1145 - struct net_device *ndev = dev_get_drvdata(dev); 1146 + struct net_device *ndev = platform_get_drvdata(dev); 1146 1147 1147 1148 if (ndev) { 1148 1149 if (netif_running(ndev)) { ··· 1154 1155 } 1155 1156 1156 1157 static int 1157 - dm9000_drv_resume(struct device *dev) 1158 + dm9000_drv_resume(struct platform_device *dev) 1158 1159 { 1159 - struct net_device *ndev = dev_get_drvdata(dev); 1160 + struct net_device *ndev = platform_get_drvdata(dev); 1160 1161 board_info_t *db = (board_info_t *) ndev->priv; 1161 1162 1162 1163 if (ndev) { ··· 1172 1173 } 1173 1174 1174 1175 static int 1175 - dm9000_drv_remove(struct device *dev) 1176 + dm9000_drv_remove(struct platform_device *pdev) 1176 1177 { 1177 - struct platform_device *pdev = to_platform_device(dev); 1178 - struct net_device *ndev = dev_get_drvdata(dev); 1178 + struct net_device *ndev = platform_get_drvdata(pdev); 1179 1179 1180 - dev_set_drvdata(dev, NULL); 1180 + platform_set_drvdata(pdev, NULL); 1181 1181 1182 1182 unregister_netdev(ndev); 1183 1183 dm9000_release_board(pdev, (board_info_t *) ndev->priv); ··· 1187 1189 return 0; 1188 1190 } 1189 1191 1190 - static struct device_driver dm9000_driver = { 1191 - .name = "dm9000", 1192 - .bus = &platform_bus_type, 1192 + static struct platform_driver dm9000_driver = { 1193 1193 .probe = dm9000_probe, 1194 1194 .remove = dm9000_drv_remove, 1195 1195 .suspend = dm9000_drv_suspend, 1196 1196 .resume = dm9000_drv_resume, 1197 + .driver = { 1198 + .name = "dm9000", 1199 + }, 1197 1200 }; 1198 1201 1199 1202 static int __init ··· 1202 1203 { 1203 1204 printk(KERN_INFO "%s Ethernet Driver\n", CARDNAME); 1204 1205 1205 - return driver_register(&dm9000_driver); /* search board and register */ 1206 + return platform_driver_register(&dm9000_driver); /* search board and register */ 1206 1207 } 1207 1208 1208 1209 static void __exit 1209 1210 dm9000_cleanup(void) 1210 1211 { 1211 - driver_unregister(&dm9000_driver); 1212 + platform_driver_unregister(&dm9000_driver); 1212 1213 } 1213 1214 1214 1215 module_init(dm9000_init);
+14 -14
drivers/net/gianfar.c
··· 127 127 static void adjust_link(struct net_device *dev); 128 128 static void init_registers(struct net_device *dev); 129 129 static int init_phy(struct net_device *dev); 130 - static int gfar_probe(struct device *device); 131 - static int gfar_remove(struct device *device); 130 + static int gfar_probe(struct platform_device *pdev); 131 + static int gfar_remove(struct platform_device *pdev); 132 132 static void free_skb_resources(struct gfar_private *priv); 133 133 static void gfar_set_multi(struct net_device *dev); 134 134 static void gfar_set_hash_for_addr(struct net_device *dev, u8 *addr); ··· 157 157 158 158 /* Set up the ethernet device structure, private data, 159 159 * and anything else we need before we start */ 160 - static int gfar_probe(struct device *device) 160 + static int gfar_probe(struct platform_device *pdev) 161 161 { 162 162 u32 tempval; 163 163 struct net_device *dev = NULL; 164 164 struct gfar_private *priv = NULL; 165 - struct platform_device *pdev = to_platform_device(device); 166 165 struct gianfar_platform_data *einfo; 167 166 struct resource *r; 168 167 int idx; ··· 208 209 209 210 spin_lock_init(&priv->lock); 210 211 211 - dev_set_drvdata(device, dev); 212 + platform_set_drvdata(pdev, dev); 212 213 213 214 /* Stop the DMA engine now, in case it was running before */ 214 215 /* (The firmware could have used it, and left it running). */ ··· 245 246 dev->base_addr = (unsigned long) (priv->regs); 246 247 247 248 SET_MODULE_OWNER(dev); 248 - SET_NETDEV_DEV(dev, device); 249 + SET_NETDEV_DEV(dev, &pdev->dev); 249 250 250 251 /* Fill in the dev structure */ 251 252 dev->open = gfar_enet_open; ··· 377 378 return err; 378 379 } 379 380 380 - static int gfar_remove(struct device *device) 381 + static int gfar_remove(struct platform_device *pdev) 381 382 { 382 - struct net_device *dev = dev_get_drvdata(device); 383 + struct net_device *dev = platform_get_drvdata(pdev); 383 384 struct gfar_private *priv = netdev_priv(dev); 384 385 385 - dev_set_drvdata(device, NULL); 386 + platform_set_drvdata(pdev, NULL); 386 387 387 388 iounmap((void *) priv->regs); 388 389 free_netdev(dev); ··· 1861 1862 } 1862 1863 1863 1864 /* Structure for a device driver */ 1864 - static struct device_driver gfar_driver = { 1865 - .name = "fsl-gianfar", 1866 - .bus = &platform_bus_type, 1865 + static struct platform_driver gfar_driver = { 1867 1866 .probe = gfar_probe, 1868 1867 .remove = gfar_remove, 1868 + .driver = { 1869 + .name = "fsl-gianfar", 1870 + }, 1869 1871 }; 1870 1872 1871 1873 static int __init gfar_init(void) ··· 1876 1876 if (err) 1877 1877 return err; 1878 1878 1879 - err = driver_register(&gfar_driver); 1879 + err = platform_driver_register(&gfar_driver); 1880 1880 1881 1881 if (err) 1882 1882 gfar_mdio_exit(); ··· 1886 1886 1887 1887 static void __exit gfar_exit(void) 1888 1888 { 1889 - driver_unregister(&gfar_driver); 1889 + platform_driver_unregister(&gfar_driver); 1890 1890 gfar_mdio_exit(); 1891 1891 } 1892 1892
+14 -14
drivers/net/irda/sa1100_ir.c
··· 291 291 /* 292 292 * Suspend the IrDA interface. 293 293 */ 294 - static int sa1100_irda_suspend(struct device *_dev, pm_message_t state) 294 + static int sa1100_irda_suspend(struct platform_device *pdev, pm_message_t state) 295 295 { 296 - struct net_device *dev = dev_get_drvdata(_dev); 296 + struct net_device *dev = platform_get_drvdata(pdev); 297 297 struct sa1100_irda *si; 298 298 299 299 if (!dev) ··· 316 316 /* 317 317 * Resume the IrDA interface. 318 318 */ 319 - static int sa1100_irda_resume(struct device *_dev) 319 + static int sa1100_irda_resume(struct platform_device *pdev) 320 320 { 321 - struct net_device *dev = dev_get_drvdata(_dev); 321 + struct net_device *dev = platform_get_drvdata(pdev); 322 322 struct sa1100_irda *si; 323 323 324 324 if (!dev) ··· 886 886 return io->head ? 0 : -ENOMEM; 887 887 } 888 888 889 - static int sa1100_irda_probe(struct device *_dev) 889 + static int sa1100_irda_probe(struct platform_device *pdev) 890 890 { 891 - struct platform_device *pdev = to_platform_device(_dev); 892 891 struct net_device *dev; 893 892 struct sa1100_irda *si; 894 893 unsigned int baudrate_mask; ··· 966 967 967 968 err = register_netdev(dev); 968 969 if (err == 0) 969 - dev_set_drvdata(&pdev->dev, dev); 970 + platform_set_drvdata(pdev, dev); 970 971 971 972 if (err) { 972 973 err_mem_5: ··· 984 985 return err; 985 986 } 986 987 987 - static int sa1100_irda_remove(struct device *_dev) 988 + static int sa1100_irda_remove(struct platform_device *pdev) 988 989 { 989 - struct net_device *dev = dev_get_drvdata(_dev); 990 + struct net_device *dev = platform_get_drvdata(pdev); 990 991 991 992 if (dev) { 992 993 struct sa1100_irda *si = dev->priv; ··· 1003 1004 return 0; 1004 1005 } 1005 1006 1006 - static struct device_driver sa1100ir_driver = { 1007 - .name = "sa11x0-ir", 1008 - .bus = &platform_bus_type, 1007 + static struct platform_driver sa1100ir_driver = { 1009 1008 .probe = sa1100_irda_probe, 1010 1009 .remove = sa1100_irda_remove, 1011 1010 .suspend = sa1100_irda_suspend, 1012 1011 .resume = sa1100_irda_resume, 1012 + .driver = { 1013 + .name = "sa11x0-ir", 1014 + }, 1013 1015 }; 1014 1016 1015 1017 static int __init sa1100_irda_init(void) ··· 1023 1023 if (power_level > 3) 1024 1024 power_level = 3; 1025 1025 1026 - return driver_register(&sa1100ir_driver); 1026 + return platform_driver_register(&sa1100ir_driver); 1027 1027 } 1028 1028 1029 1029 static void __exit sa1100_irda_exit(void) 1030 1030 { 1031 - driver_unregister(&sa1100ir_driver); 1031 + platform_driver_unregister(&sa1100ir_driver); 1032 1032 } 1033 1033 1034 1034 module_init(sa1100_irda_init);
+14 -13
drivers/net/irda/smsc-ircc2.c
··· 214 214 215 215 /* Power Management */ 216 216 217 - static int smsc_ircc_suspend(struct device *dev, pm_message_t state); 218 - static int smsc_ircc_resume(struct device *dev); 217 + static int smsc_ircc_suspend(struct platform_device *dev, pm_message_t state); 218 + static int smsc_ircc_resume(struct platform_device *dev); 219 219 220 - static struct device_driver smsc_ircc_driver = { 221 - .name = SMSC_IRCC2_DRIVER_NAME, 222 - .bus = &platform_bus_type, 220 + static struct platform_driver smsc_ircc_driver = { 223 221 .suspend = smsc_ircc_suspend, 224 222 .resume = smsc_ircc_resume, 223 + .driver = { 224 + .name = SMSC_IRCC2_DRIVER_NAME, 225 + }, 225 226 }; 226 227 227 228 /* Transceivers for SMSC-ircc */ ··· 347 346 348 347 IRDA_DEBUG(1, "%s\n", __FUNCTION__); 349 348 350 - ret = driver_register(&smsc_ircc_driver); 349 + ret = platform_driver_register(&smsc_ircc_driver); 351 350 if (ret) { 352 351 IRDA_ERROR("%s, Can't register driver!\n", driver_name); 353 352 return ret; ··· 379 378 } 380 379 381 380 if (ret) 382 - driver_unregister(&smsc_ircc_driver); 381 + platform_driver_unregister(&smsc_ircc_driver); 383 382 384 383 return ret; 385 384 } ··· 492 491 err = PTR_ERR(self->pldev); 493 492 goto err_out5; 494 493 } 495 - dev_set_drvdata(&self->pldev->dev, self); 494 + platform_set_drvdata(self->pldev, self); 496 495 497 496 IRDA_MESSAGE("IrDA: Registered device %s\n", dev->name); 498 497 dev_count++; ··· 1686 1685 return 0; 1687 1686 } 1688 1687 1689 - static int smsc_ircc_suspend(struct device *dev, pm_message_t state) 1688 + static int smsc_ircc_suspend(struct platform_device *dev, pm_message_t state) 1690 1689 { 1691 - struct smsc_ircc_cb *self = dev_get_drvdata(dev); 1690 + struct smsc_ircc_cb *self = platform_get_drvdata(dev); 1692 1691 1693 1692 if (!self->io.suspended) { 1694 1693 IRDA_DEBUG(1, "%s, Suspending\n", driver_name); ··· 1707 1706 return 0; 1708 1707 } 1709 1708 1710 - static int smsc_ircc_resume(struct device *dev) 1709 + static int smsc_ircc_resume(struct platform_device *dev) 1711 1710 { 1712 - struct smsc_ircc_cb *self = dev_get_drvdata(dev); 1711 + struct smsc_ircc_cb *self = platform_get_drvdata(dev); 1713 1712 1714 1713 if (self->io.suspended) { 1715 1714 IRDA_DEBUG(1, "%s, Waking up\n", driver_name); ··· 1789 1788 smsc_ircc_close(dev_self[i]); 1790 1789 } 1791 1790 1792 - driver_unregister(&smsc_ircc_driver); 1791 + platform_driver_unregister(&smsc_ircc_driver); 1793 1792 } 1794 1793 1795 1794 /*
+11 -10
drivers/net/jazzsonic.c
··· 194 194 * Probe for a SONIC ethernet controller on a Mips Jazz board. 195 195 * Actually probing is superfluous but we're paranoid. 196 196 */ 197 - static int __init jazz_sonic_probe(struct device *device) 197 + static int __init jazz_sonic_probe(struct platform_device *pdev) 198 198 { 199 199 struct net_device *dev; 200 200 struct sonic_local *lp; ··· 212 212 return -ENOMEM; 213 213 214 214 lp = netdev_priv(dev); 215 - lp->device = device; 216 - SET_NETDEV_DEV(dev, device); 215 + lp->device = &pdev->dev; 216 + SET_NETDEV_DEV(dev, &pdev->dev); 217 217 SET_MODULE_OWNER(dev); 218 218 219 219 netdev_boot_setup_check(dev); ··· 264 264 265 265 #include "sonic.c" 266 266 267 - static int __devexit jazz_sonic_device_remove (struct device *device) 267 + static int __devexit jazz_sonic_device_remove (struct platform_device *pdev) 268 268 { 269 - struct net_device *dev = device->driver_data; 269 + struct net_device *dev = platform_get_drvdata(pdev); 270 270 struct sonic_local* lp = netdev_priv(dev); 271 271 272 272 unregister_netdev (dev); ··· 278 278 return 0; 279 279 } 280 280 281 - static struct device_driver jazz_sonic_driver = { 282 - .name = jazz_sonic_string, 283 - .bus = &platform_bus_type, 281 + static struct platform_driver jazz_sonic_driver = { 284 282 .probe = jazz_sonic_probe, 285 283 .remove = __devexit_p(jazz_sonic_device_remove), 284 + .driver = { 285 + .name = jazz_sonic_string, 286 + }, 286 287 }; 287 288 288 289 static int __init jazz_sonic_init_module(void) 289 290 { 290 291 int err; 291 292 292 - if ((err = driver_register(&jazz_sonic_driver))) { 293 + if ((err = platform_driver_register(&jazz_sonic_driver))) { 293 294 printk(KERN_ERR "Driver registration failed\n"); 294 295 return err; 295 296 } ··· 314 313 315 314 static void __exit jazz_sonic_cleanup_module(void) 316 315 { 317 - driver_unregister(&jazz_sonic_driver); 316 + platform_driver_unregister(&jazz_sonic_driver); 318 317 319 318 if (jazz_sonic_device) { 320 319 platform_device_unregister(jazz_sonic_device);
+11 -10
drivers/net/macsonic.c
··· 525 525 return macsonic_init(dev); 526 526 } 527 527 528 - static int __init mac_sonic_probe(struct device *device) 528 + static int __init mac_sonic_probe(struct platform_device *device) 529 529 { 530 530 struct net_device *dev; 531 531 struct sonic_local *lp; ··· 537 537 return -ENOMEM; 538 538 539 539 lp = netdev_priv(dev); 540 - lp->device = device; 541 - SET_NETDEV_DEV(dev, device); 540 + lp->device = &device->dev; 541 + SET_NETDEV_DEV(dev, &device->dev); 542 542 SET_MODULE_OWNER(dev); 543 543 544 544 /* This will catch fatal stuff like -ENOMEM as well as success */ ··· 579 579 580 580 #include "sonic.c" 581 581 582 - static int __devexit mac_sonic_device_remove (struct device *device) 582 + static int __devexit mac_sonic_device_remove (struct platform_device *device) 583 583 { 584 - struct net_device *dev = device->driver_data; 584 + struct net_device *dev = platform_get_drvdata(device); 585 585 struct sonic_local* lp = netdev_priv(dev); 586 586 587 587 unregister_netdev (dev); ··· 592 592 return 0; 593 593 } 594 594 595 - static struct device_driver mac_sonic_driver = { 596 - .name = mac_sonic_string, 597 - .bus = &platform_bus_type, 595 + static struct platform_driver mac_sonic_driver = { 598 596 .probe = mac_sonic_probe, 599 597 .remove = __devexit_p(mac_sonic_device_remove), 598 + .driver = { 599 + .name = mac_sonic_string, 600 + }, 600 601 }; 601 602 602 603 static int __init mac_sonic_init_module(void) 603 604 { 604 605 int err; 605 606 606 - if ((err = driver_register(&mac_sonic_driver))) { 607 + if ((err = platform_driver_register(&mac_sonic_driver))) { 607 608 printk(KERN_ERR "Driver registration failed\n"); 608 609 return err; 609 610 } ··· 629 628 630 629 static void __exit mac_sonic_cleanup_module(void) 631 630 { 632 - driver_unregister(&mac_sonic_driver); 631 + platform_driver_unregister(&mac_sonic_driver); 633 632 634 633 if (mac_sonic_device) { 635 634 platform_device_unregister(mac_sonic_device);
+20 -20
drivers/net/mv643xx_eth.c
··· 1387 1387 * Input : struct device * 1388 1388 * Output : -ENOMEM if failed , 0 if success 1389 1389 */ 1390 - static int mv643xx_eth_probe(struct device *ddev) 1390 + static int mv643xx_eth_probe(struct platform_device *pdev) 1391 1391 { 1392 - struct platform_device *pdev = to_platform_device(ddev); 1393 1392 struct mv643xx_eth_platform_data *pd; 1394 1393 int port_num = pdev->id; 1395 1394 struct mv643xx_private *mp; ··· 1401 1402 if (!dev) 1402 1403 return -ENOMEM; 1403 1404 1404 - dev_set_drvdata(ddev, dev); 1405 + platform_set_drvdata(pdev, dev); 1405 1406 1406 1407 mp = netdev_priv(dev); 1407 1408 ··· 1545 1546 return err; 1546 1547 } 1547 1548 1548 - static int mv643xx_eth_remove(struct device *ddev) 1549 + static int mv643xx_eth_remove(struct platform_device *pdev) 1549 1550 { 1550 - struct net_device *dev = dev_get_drvdata(ddev); 1551 + struct net_device *dev = platform_get_drvdata(pdev); 1551 1552 1552 1553 unregister_netdev(dev); 1553 1554 flush_scheduled_work(); 1554 1555 1555 1556 free_netdev(dev); 1556 - dev_set_drvdata(ddev, NULL); 1557 + platform_set_drvdata(pdev, NULL); 1557 1558 return 0; 1558 1559 } 1559 1560 1560 - static int mv643xx_eth_shared_probe(struct device *ddev) 1561 + static int mv643xx_eth_shared_probe(struct platform_device *pdev) 1561 1562 { 1562 - struct platform_device *pdev = to_platform_device(ddev); 1563 1563 struct resource *res; 1564 1564 1565 1565 printk(KERN_NOTICE "MV-643xx 10/100/1000 Ethernet Driver\n"); ··· 1576 1578 1577 1579 } 1578 1580 1579 - static int mv643xx_eth_shared_remove(struct device *ddev) 1581 + static int mv643xx_eth_shared_remove(struct platform_device *pdev) 1580 1582 { 1581 1583 iounmap(mv643xx_eth_shared_base); 1582 1584 mv643xx_eth_shared_base = NULL; ··· 1584 1586 return 0; 1585 1587 } 1586 1588 1587 - static struct device_driver mv643xx_eth_driver = { 1588 - .name = MV643XX_ETH_NAME, 1589 - .bus = &platform_bus_type, 1589 + static struct platform_driver mv643xx_eth_driver = { 1590 1590 .probe = mv643xx_eth_probe, 1591 1591 .remove = mv643xx_eth_remove, 1592 + .driver = { 1593 + .name = MV643XX_ETH_NAME, 1594 + }, 1592 1595 }; 1593 1596 1594 - static struct device_driver mv643xx_eth_shared_driver = { 1595 - .name = MV643XX_ETH_SHARED_NAME, 1596 - .bus = &platform_bus_type, 1597 + static struct platform_driver mv643xx_eth_shared_driver = { 1597 1598 .probe = mv643xx_eth_shared_probe, 1598 1599 .remove = mv643xx_eth_shared_remove, 1600 + .driver = { 1601 + .name = MV643XX_ETH_SHARED_NAME, 1602 + }, 1599 1603 }; 1600 1604 1601 1605 /* ··· 1613 1613 { 1614 1614 int rc; 1615 1615 1616 - rc = driver_register(&mv643xx_eth_shared_driver); 1616 + rc = platform_driver_register(&mv643xx_eth_shared_driver); 1617 1617 if (!rc) { 1618 - rc = driver_register(&mv643xx_eth_driver); 1618 + rc = platform_driver_register(&mv643xx_eth_driver); 1619 1619 if (rc) 1620 - driver_unregister(&mv643xx_eth_shared_driver); 1620 + platform_driver_unregister(&mv643xx_eth_shared_driver); 1621 1621 } 1622 1622 return rc; 1623 1623 } ··· 1633 1633 */ 1634 1634 static void __exit mv643xx_cleanup_module(void) 1635 1635 { 1636 - driver_unregister(&mv643xx_eth_driver); 1637 - driver_unregister(&mv643xx_eth_shared_driver); 1636 + platform_driver_unregister(&mv643xx_eth_driver); 1637 + platform_driver_unregister(&mv643xx_eth_shared_driver); 1638 1638 } 1639 1639 1640 1640 module_init(mv643xx_init_module);
+18 -20
drivers/net/smc91x.c
··· 2183 2183 * 0 --> there is a device 2184 2184 * anything else, error 2185 2185 */ 2186 - static int smc_drv_probe(struct device *dev) 2186 + static int smc_drv_probe(struct platform_device *pdev) 2187 2187 { 2188 - struct platform_device *pdev = to_platform_device(dev); 2189 2188 struct net_device *ndev; 2190 2189 struct resource *res; 2191 2190 unsigned int __iomem *addr; ··· 2211 2212 goto out_release_io; 2212 2213 } 2213 2214 SET_MODULE_OWNER(ndev); 2214 - SET_NETDEV_DEV(ndev, dev); 2215 + SET_NETDEV_DEV(ndev, &pdev->dev); 2215 2216 2216 2217 ndev->dma = (unsigned char)-1; 2217 2218 ndev->irq = platform_get_irq(pdev, 0); ··· 2232 2233 goto out_release_attrib; 2233 2234 } 2234 2235 2235 - dev_set_drvdata(dev, ndev); 2236 + platform_set_drvdata(pdev, ndev); 2236 2237 ret = smc_probe(ndev, addr); 2237 2238 if (ret != 0) 2238 2239 goto out_iounmap; ··· 2248 2249 return 0; 2249 2250 2250 2251 out_iounmap: 2251 - dev_set_drvdata(dev, NULL); 2252 + platform_set_drvdata(pdev, NULL); 2252 2253 iounmap(addr); 2253 2254 out_release_attrib: 2254 2255 smc_release_attrib(pdev); ··· 2262 2263 return ret; 2263 2264 } 2264 2265 2265 - static int smc_drv_remove(struct device *dev) 2266 + static int smc_drv_remove(struct platform_device *pdev) 2266 2267 { 2267 - struct platform_device *pdev = to_platform_device(dev); 2268 - struct net_device *ndev = dev_get_drvdata(dev); 2268 + struct net_device *ndev = platform_get_drvdata(pdev); 2269 2269 struct smc_local *lp = netdev_priv(ndev); 2270 2270 struct resource *res; 2271 2271 2272 - dev_set_drvdata(dev, NULL); 2272 + platform_set_drvdata(pdev, NULL); 2273 2273 2274 2274 unregister_netdev(ndev); 2275 2275 ··· 2293 2295 return 0; 2294 2296 } 2295 2297 2296 - static int smc_drv_suspend(struct device *dev, pm_message_t state) 2298 + static int smc_drv_suspend(struct platform_device *dev, pm_message_t state) 2297 2299 { 2298 - struct net_device *ndev = dev_get_drvdata(dev); 2300 + struct net_device *ndev = platform_get_drvdata(dev); 2299 2301 2300 2302 if (ndev) { 2301 2303 if (netif_running(ndev)) { ··· 2307 2309 return 0; 2308 2310 } 2309 2311 2310 - static int smc_drv_resume(struct device *dev) 2312 + static int smc_drv_resume(struct platform_device *dev) 2311 2313 { 2312 - struct platform_device *pdev = to_platform_device(dev); 2313 - struct net_device *ndev = dev_get_drvdata(dev); 2314 + struct net_device *ndev = platform_get_drvdata(dev); 2314 2315 2315 2316 if (ndev) { 2316 2317 struct smc_local *lp = netdev_priv(ndev); 2317 - smc_enable_device(pdev); 2318 + smc_enable_device(dev); 2318 2319 if (netif_running(ndev)) { 2319 2320 smc_reset(ndev); 2320 2321 smc_enable(ndev); ··· 2325 2328 return 0; 2326 2329 } 2327 2330 2328 - static struct device_driver smc_driver = { 2329 - .name = CARDNAME, 2330 - .bus = &platform_bus_type, 2331 + static struct platform_driver smc_driver = { 2331 2332 .probe = smc_drv_probe, 2332 2333 .remove = smc_drv_remove, 2333 2334 .suspend = smc_drv_suspend, 2334 2335 .resume = smc_drv_resume, 2336 + .driver = { 2337 + .name = CARDNAME, 2338 + }, 2335 2339 }; 2336 2340 2337 2341 static int __init smc_init(void) ··· 2346 2348 #endif 2347 2349 #endif 2348 2350 2349 - return driver_register(&smc_driver); 2351 + return platform_driver_register(&smc_driver); 2350 2352 } 2351 2353 2352 2354 static void __exit smc_cleanup(void) 2353 2355 { 2354 - driver_unregister(&smc_driver); 2356 + platform_driver_unregister(&smc_driver); 2355 2357 } 2356 2358 2357 2359 module_init(smc_init);
+9 -8
drivers/net/tokenring/proteon.c
··· 344 344 345 345 static struct platform_device *proteon_dev[ISATR_MAX_ADAPTERS]; 346 346 347 - static struct device_driver proteon_driver = { 348 - .name = "proteon", 349 - .bus = &platform_bus_type, 347 + static struct platform_driver proteon_driver = { 348 + .driver = { 349 + .name = "proteon", 350 + }, 350 351 }; 351 352 352 353 static int __init proteon_init(void) ··· 356 355 struct platform_device *pdev; 357 356 int i, num = 0, err = 0; 358 357 359 - err = driver_register(&proteon_driver); 358 + err = platform_driver_register(&proteon_driver); 360 359 if (err) 361 360 return err; 362 361 ··· 373 372 err = setup_card(dev, &pdev->dev); 374 373 if (!err) { 375 374 proteon_dev[i] = pdev; 376 - dev_set_drvdata(&pdev->dev, dev); 375 + platform_set_drvdata(pdev, dev); 377 376 ++num; 378 377 } else { 379 378 platform_device_unregister(pdev); ··· 400 399 401 400 if (!pdev) 402 401 continue; 403 - dev = dev_get_drvdata(&pdev->dev); 402 + dev = platform_get_drvdata(pdev); 404 403 unregister_netdev(dev); 405 404 release_region(dev->base_addr, PROTEON_IO_EXTENT); 406 405 free_irq(dev->irq, dev); 407 406 free_dma(dev->dma); 408 407 tmsdev_term(dev); 409 408 free_netdev(dev); 410 - dev_set_drvdata(&pdev->dev, NULL); 409 + platform_set_drvdata(pdev, NULL); 411 410 platform_device_unregister(pdev); 412 411 } 413 - driver_unregister(&proteon_driver); 412 + platform_driver_unregister(&proteon_driver); 414 413 } 415 414 416 415 module_init(proteon_init);
+9 -8
drivers/net/tokenring/skisa.c
··· 354 354 355 355 static struct platform_device *sk_isa_dev[ISATR_MAX_ADAPTERS]; 356 356 357 - static struct device_driver sk_isa_driver = { 358 - .name = "skisa", 359 - .bus = &platform_bus_type, 357 + static struct platform_driver sk_isa_driver = { 358 + .driver = { 359 + .name = "skisa", 360 + }, 360 361 }; 361 362 362 363 static int __init sk_isa_init(void) ··· 366 365 struct platform_device *pdev; 367 366 int i, num = 0, err = 0; 368 367 369 - err = driver_register(&sk_isa_driver); 368 + err = platform_driver_register(&sk_isa_driver); 370 369 if (err) 371 370 return err; 372 371 ··· 383 382 err = setup_card(dev, &pdev->dev); 384 383 if (!err) { 385 384 sk_isa_dev[i] = pdev; 386 - dev_set_drvdata(&sk_isa_dev[i]->dev, dev); 385 + platform_set_drvdata(sk_isa_dev[i], dev); 387 386 ++num; 388 387 } else { 389 388 platform_device_unregister(pdev); ··· 410 409 411 410 if (!pdev) 412 411 continue; 413 - dev = dev_get_drvdata(&pdev->dev); 412 + dev = platform_get_drvdata(pdev); 414 413 unregister_netdev(dev); 415 414 release_region(dev->base_addr, SK_ISA_IO_EXTENT); 416 415 free_irq(dev->irq, dev); 417 416 free_dma(dev->dma); 418 417 tmsdev_term(dev); 419 418 free_netdev(dev); 420 - dev_set_drvdata(&pdev->dev, NULL); 419 + platform_set_drvdata(pdev, NULL); 421 420 platform_device_unregister(pdev); 422 421 } 423 - driver_unregister(&sk_isa_driver); 422 + platform_driver_unregister(&sk_isa_driver); 424 423 } 425 424 426 425 module_init(sk_isa_init);
+16 -15
drivers/serial/8250.c
··· 2381 2381 * list is terminated with a zero flags entry, which means we expect 2382 2382 * all entries to have at least UPF_BOOT_AUTOCONF set. 2383 2383 */ 2384 - static int __devinit serial8250_probe(struct device *dev) 2384 + static int __devinit serial8250_probe(struct platform_device *dev) 2385 2385 { 2386 - struct plat_serial8250_port *p = dev->platform_data; 2386 + struct plat_serial8250_port *p = dev->dev.platform_data; 2387 2387 struct uart_port port; 2388 2388 int ret, i; 2389 2389 ··· 2399 2399 port.flags = p->flags; 2400 2400 port.mapbase = p->mapbase; 2401 2401 port.hub6 = p->hub6; 2402 - port.dev = dev; 2402 + port.dev = &dev->dev; 2403 2403 if (share_irqs) 2404 2404 port.flags |= UPF_SHARE_IRQ; 2405 2405 ret = serial8250_register_port(&port); 2406 2406 if (ret < 0) { 2407 - dev_err(dev, "unable to register port at index %d " 2407 + dev_err(&dev->dev, "unable to register port at index %d " 2408 2408 "(IO%lx MEM%lx IRQ%d): %d\n", i, 2409 2409 p->iobase, p->mapbase, p->irq, ret); 2410 2410 } ··· 2415 2415 /* 2416 2416 * Remove serial ports registered against a platform device. 2417 2417 */ 2418 - static int __devexit serial8250_remove(struct device *dev) 2418 + static int __devexit serial8250_remove(struct platform_device *dev) 2419 2419 { 2420 2420 int i; 2421 2421 2422 2422 for (i = 0; i < UART_NR; i++) { 2423 2423 struct uart_8250_port *up = &serial8250_ports[i]; 2424 2424 2425 - if (up->port.dev == dev) 2425 + if (up->port.dev == &dev->dev) 2426 2426 serial8250_unregister_port(i); 2427 2427 } 2428 2428 return 0; 2429 2429 } 2430 2430 2431 - static int serial8250_suspend(struct device *dev, pm_message_t state) 2431 + static int serial8250_suspend(struct platform_device *dev, pm_message_t state) 2432 2432 { 2433 2433 int i; 2434 2434 2435 2435 for (i = 0; i < UART_NR; i++) { 2436 2436 struct uart_8250_port *up = &serial8250_ports[i]; 2437 2437 2438 - if (up->port.type != PORT_UNKNOWN && up->port.dev == dev) 2438 + if (up->port.type != PORT_UNKNOWN && up->port.dev == &dev->dev) 2439 2439 uart_suspend_port(&serial8250_reg, &up->port); 2440 2440 } 2441 2441 2442 2442 return 0; 2443 2443 } 2444 2444 2445 - static int serial8250_resume(struct device *dev) 2445 + static int serial8250_resume(struct platform_device *dev) 2446 2446 { 2447 2447 int i; 2448 2448 2449 2449 for (i = 0; i < UART_NR; i++) { 2450 2450 struct uart_8250_port *up = &serial8250_ports[i]; 2451 2451 2452 - if (up->port.type != PORT_UNKNOWN && up->port.dev == dev) 2452 + if (up->port.type != PORT_UNKNOWN && up->port.dev == &dev->dev) 2453 2453 uart_resume_port(&serial8250_reg, &up->port); 2454 2454 } 2455 2455 2456 2456 return 0; 2457 2457 } 2458 2458 2459 - static struct device_driver serial8250_isa_driver = { 2460 - .name = "serial8250", 2461 - .bus = &platform_bus_type, 2459 + static struct platform_driver serial8250_isa_driver = { 2462 2460 .probe = serial8250_probe, 2463 2461 .remove = __devexit_p(serial8250_remove), 2464 2462 .suspend = serial8250_suspend, 2465 2463 .resume = serial8250_resume, 2464 + .driver = { 2465 + .name = "serial8250", 2466 + }, 2466 2467 }; 2467 2468 2468 2469 /* ··· 2609 2608 2610 2609 serial8250_register_ports(&serial8250_reg, &serial8250_isa_devs->dev); 2611 2610 2612 - ret = driver_register(&serial8250_isa_driver); 2611 + ret = platform_driver_register(&serial8250_isa_driver); 2613 2612 if (ret == 0) 2614 2613 goto out; 2615 2614 ··· 2631 2630 */ 2632 2631 serial8250_isa_devs = NULL; 2633 2632 2634 - driver_unregister(&serial8250_isa_driver); 2633 + platform_driver_unregister(&serial8250_isa_driver); 2635 2634 platform_device_unregister(isa_dev); 2636 2635 2637 2636 uart_unregister_driver(&serial8250_reg);
+15 -16
drivers/serial/imx.c
··· 921 921 .cons = IMX_CONSOLE, 922 922 }; 923 923 924 - static int serial_imx_suspend(struct device *_dev, pm_message_t state) 924 + static int serial_imx_suspend(struct platform_device *dev, pm_message_t state) 925 925 { 926 - struct imx_port *sport = dev_get_drvdata(_dev); 926 + struct imx_port *sport = platform_get_drvdata(dev); 927 927 928 928 if (sport) 929 929 uart_suspend_port(&imx_reg, &sport->port); ··· 931 931 return 0; 932 932 } 933 933 934 - static int serial_imx_resume(struct device *_dev) 934 + static int serial_imx_resume(struct platform_device *dev) 935 935 { 936 - struct imx_port *sport = dev_get_drvdata(_dev); 936 + struct imx_port *sport = platform_get_drvdata(dev); 937 937 938 938 if (sport) 939 939 uart_resume_port(&imx_reg, &sport->port); ··· 941 941 return 0; 942 942 } 943 943 944 - static int serial_imx_probe(struct device *_dev) 944 + static int serial_imx_probe(struct platform_device *dev) 945 945 { 946 - struct platform_device *dev = to_platform_device(_dev); 947 - 948 - imx_ports[dev->id].port.dev = _dev; 946 + imx_ports[dev->id].port.dev = &dev->dev; 949 947 uart_add_one_port(&imx_reg, &imx_ports[dev->id].port); 950 - dev_set_drvdata(_dev, &imx_ports[dev->id]); 948 + platform_set_drvdata(dev, &imx_ports[dev->id]); 951 949 return 0; 952 950 } 953 951 954 - static int serial_imx_remove(struct device *_dev) 952 + static int serial_imx_remove(struct platform_device *dev) 955 953 { 956 - struct imx_port *sport = dev_get_drvdata(_dev); 954 + struct imx_port *sport = platform_get_drvdata(dev); 957 955 958 - dev_set_drvdata(_dev, NULL); 956 + platform_set_drvdata(dev, NULL); 959 957 960 958 if (sport) 961 959 uart_remove_one_port(&imx_reg, &sport->port); ··· 961 963 return 0; 962 964 } 963 965 964 - static struct device_driver serial_imx_driver = { 965 - .name = "imx-uart", 966 - .bus = &platform_bus_type, 966 + static struct platform_driver serial_imx_driver = { 967 967 .probe = serial_imx_probe, 968 968 .remove = serial_imx_remove, 969 969 970 970 .suspend = serial_imx_suspend, 971 971 .resume = serial_imx_resume, 972 + .driver = { 973 + .name = "imx-uart", 974 + }, 972 975 }; 973 976 974 977 static int __init imx_serial_init(void) ··· 984 985 if (ret) 985 986 return ret; 986 987 987 - ret = driver_register(&serial_imx_driver); 988 + ret = platform_driver_register(&serial_imx_driver); 988 989 if (ret != 0) 989 990 uart_unregister_driver(&imx_reg); 990 991
+16 -16
drivers/serial/mpc52xx_uart.c
··· 717 717 /* ======================================================================== */ 718 718 719 719 static int __devinit 720 - mpc52xx_uart_probe(struct device *dev) 720 + mpc52xx_uart_probe(struct platform_device *dev) 721 721 { 722 - struct platform_device *pdev = to_platform_device(dev); 723 - struct resource *res = pdev->resource; 722 + struct resource *res = dev->resource; 724 723 725 724 struct uart_port *port = NULL; 726 725 int i, idx, ret; ··· 760 761 /* Add the port to the uart sub-system */ 761 762 ret = uart_add_one_port(&mpc52xx_uart_driver, port); 762 763 if (!ret) 763 - dev_set_drvdata(dev, (void*)port); 764 + platform_set_drvdata(dev, (void*)port); 764 765 765 766 return ret; 766 767 } 767 768 768 769 static int 769 - mpc52xx_uart_remove(struct device *dev) 770 + mpc52xx_uart_remove(struct platform_device *dev) 770 771 { 771 - struct uart_port *port = (struct uart_port *) dev_get_drvdata(dev); 772 + struct uart_port *port = (struct uart_port *) platform_get_drvdata(dev); 772 773 773 - dev_set_drvdata(dev, NULL); 774 + platform_set_drvdata(dev, NULL); 774 775 775 776 if (port) 776 777 uart_remove_one_port(&mpc52xx_uart_driver, port); ··· 780 781 781 782 #ifdef CONFIG_PM 782 783 static int 783 - mpc52xx_uart_suspend(struct device *dev, pm_message_t state) 784 + mpc52xx_uart_suspend(struct platform_device *dev, pm_message_t state) 784 785 { 785 - struct uart_port *port = (struct uart_port *) dev_get_drvdata(dev); 786 + struct uart_port *port = (struct uart_port *) platform_get_drvdata(dev); 786 787 787 788 if (sport) 788 789 uart_suspend_port(&mpc52xx_uart_driver, port); ··· 791 792 } 792 793 793 794 static int 794 - mpc52xx_uart_resume(struct device *dev) 795 + mpc52xx_uart_resume(struct platform_device *dev) 795 796 { 796 - struct uart_port *port = (struct uart_port *) dev_get_drvdata(dev); 797 + struct uart_port *port = (struct uart_port *) platform_get_drvdata(dev); 797 798 798 799 if (port) 799 800 uart_resume_port(&mpc52xx_uart_driver, port); ··· 802 803 } 803 804 #endif 804 805 805 - static struct device_driver mpc52xx_uart_platform_driver = { 806 - .name = "mpc52xx-psc", 807 - .bus = &platform_bus_type, 806 + static struct platform_driver mpc52xx_uart_platform_driver = { 808 807 .probe = mpc52xx_uart_probe, 809 808 .remove = mpc52xx_uart_remove, 810 809 #ifdef CONFIG_PM 811 810 .suspend = mpc52xx_uart_suspend, 812 811 .resume = mpc52xx_uart_resume, 813 812 #endif 813 + .driver = { 814 + .name = "mpc52xx-psc", 815 + }, 814 816 }; 815 817 816 818 ··· 828 828 829 829 ret = uart_register_driver(&mpc52xx_uart_driver); 830 830 if (ret == 0) { 831 - ret = driver_register(&mpc52xx_uart_platform_driver); 831 + ret = platform_driver_register(&mpc52xx_uart_platform_driver); 832 832 if (ret) 833 833 uart_unregister_driver(&mpc52xx_uart_driver); 834 834 } ··· 839 839 static void __exit 840 840 mpc52xx_uart_exit(void) 841 841 { 842 - driver_unregister(&mpc52xx_uart_platform_driver); 842 + platform_driver_unregister(&mpc52xx_uart_platform_driver); 843 843 uart_unregister_driver(&mpc52xx_uart_driver); 844 844 } 845 845
+31 -34
drivers/serial/mpsc.c
··· 1551 1551 } 1552 1552 1553 1553 static int 1554 - mpsc_shared_drv_probe(struct device *dev) 1554 + mpsc_shared_drv_probe(struct platform_device *dev) 1555 1555 { 1556 - struct platform_device *pd = to_platform_device(dev); 1557 1556 struct mpsc_shared_pdata *pdata; 1558 1557 int rc = -ENODEV; 1559 1558 1560 - if (pd->id == 0) { 1561 - if (!(rc = mpsc_shared_map_regs(pd))) { 1562 - pdata = (struct mpsc_shared_pdata *)dev->platform_data; 1559 + if (dev->id == 0) { 1560 + if (!(rc = mpsc_shared_map_regs(dev))) { 1561 + pdata = (struct mpsc_shared_pdata *)dev->dev.platform_data; 1563 1562 1564 1563 mpsc_shared_regs.MPSC_MRR_m = pdata->mrr_val; 1565 1564 mpsc_shared_regs.MPSC_RCRR_m= pdata->rcrr_val; ··· 1576 1577 } 1577 1578 1578 1579 static int 1579 - mpsc_shared_drv_remove(struct device *dev) 1580 + mpsc_shared_drv_remove(struct platform_device *dev) 1580 1581 { 1581 - struct platform_device *pd = to_platform_device(dev); 1582 1582 int rc = -ENODEV; 1583 1583 1584 - if (pd->id == 0) { 1584 + if (dev->id == 0) { 1585 1585 mpsc_shared_unmap_regs(); 1586 1586 mpsc_shared_regs.MPSC_MRR_m = 0; 1587 1587 mpsc_shared_regs.MPSC_RCRR_m = 0; ··· 1593 1595 return rc; 1594 1596 } 1595 1597 1596 - static struct device_driver mpsc_shared_driver = { 1597 - .name = MPSC_SHARED_NAME, 1598 - .bus = &platform_bus_type, 1598 + static struct platform_driver mpsc_shared_driver = { 1599 1599 .probe = mpsc_shared_drv_probe, 1600 1600 .remove = mpsc_shared_drv_remove, 1601 + .driver = { 1602 + .name = MPSC_SHARED_NAME, 1603 + }, 1601 1604 }; 1602 1605 1603 1606 /* ··· 1731 1732 } 1732 1733 1733 1734 static int 1734 - mpsc_drv_probe(struct device *dev) 1735 + mpsc_drv_probe(struct platform_device *dev) 1735 1736 { 1736 - struct platform_device *pd = to_platform_device(dev); 1737 1737 struct mpsc_port_info *pi; 1738 1738 int rc = -ENODEV; 1739 1739 1740 - pr_debug("mpsc_drv_probe: Adding MPSC %d\n", pd->id); 1740 + pr_debug("mpsc_drv_probe: Adding MPSC %d\n", dev->id); 1741 1741 1742 - if (pd->id < MPSC_NUM_CTLRS) { 1743 - pi = &mpsc_ports[pd->id]; 1742 + if (dev->id < MPSC_NUM_CTLRS) { 1743 + pi = &mpsc_ports[dev->id]; 1744 1744 1745 - if (!(rc = mpsc_drv_map_regs(pi, pd))) { 1746 - mpsc_drv_get_platform_data(pi, pd, pd->id); 1745 + if (!(rc = mpsc_drv_map_regs(pi, dev))) { 1746 + mpsc_drv_get_platform_data(pi, dev, dev->id); 1747 1747 1748 1748 if (!(rc = mpsc_make_ready(pi))) 1749 1749 if (!(rc = uart_add_one_port(&mpsc_reg, ··· 1762 1764 } 1763 1765 1764 1766 static int 1765 - mpsc_drv_remove(struct device *dev) 1767 + mpsc_drv_remove(struct platform_device *dev) 1766 1768 { 1767 - struct platform_device *pd = to_platform_device(dev); 1769 + pr_debug("mpsc_drv_exit: Removing MPSC %d\n", dev->id); 1768 1770 1769 - pr_debug("mpsc_drv_exit: Removing MPSC %d\n", pd->id); 1770 - 1771 - if (pd->id < MPSC_NUM_CTLRS) { 1772 - uart_remove_one_port(&mpsc_reg, &mpsc_ports[pd->id].port); 1773 - mpsc_release_port((struct uart_port *)&mpsc_ports[pd->id].port); 1774 - mpsc_drv_unmap_regs(&mpsc_ports[pd->id]); 1771 + if (dev->id < MPSC_NUM_CTLRS) { 1772 + uart_remove_one_port(&mpsc_reg, &mpsc_ports[dev->id].port); 1773 + mpsc_release_port((struct uart_port *)&mpsc_ports[dev->id].port); 1774 + mpsc_drv_unmap_regs(&mpsc_ports[dev->id]); 1775 1775 return 0; 1776 1776 } 1777 1777 else 1778 1778 return -ENODEV; 1779 1779 } 1780 1780 1781 - static struct device_driver mpsc_driver = { 1782 - .name = MPSC_CTLR_NAME, 1783 - .bus = &platform_bus_type, 1781 + static struct platform_driver mpsc_driver = { 1784 1782 .probe = mpsc_drv_probe, 1785 1783 .remove = mpsc_drv_remove, 1784 + .driver = { 1785 + .name = MPSC_CTLR_NAME, 1786 + }, 1786 1787 }; 1787 1788 1788 1789 static int __init ··· 1795 1798 memset(&mpsc_shared_regs, 0, sizeof(mpsc_shared_regs)); 1796 1799 1797 1800 if (!(rc = uart_register_driver(&mpsc_reg))) { 1798 - if (!(rc = driver_register(&mpsc_shared_driver))) { 1799 - if ((rc = driver_register(&mpsc_driver))) { 1800 - driver_unregister(&mpsc_shared_driver); 1801 + if (!(rc = platform_driver_register(&mpsc_shared_driver))) { 1802 + if ((rc = platform_driver_register(&mpsc_driver))) { 1803 + platform_driver_unregister(&mpsc_shared_driver); 1801 1804 uart_unregister_driver(&mpsc_reg); 1802 1805 } 1803 1806 } ··· 1812 1815 static void __exit 1813 1816 mpsc_drv_exit(void) 1814 1817 { 1815 - driver_unregister(&mpsc_driver); 1816 - driver_unregister(&mpsc_shared_driver); 1818 + platform_driver_unregister(&mpsc_driver); 1819 + platform_driver_unregister(&mpsc_shared_driver); 1817 1820 uart_unregister_driver(&mpsc_reg); 1818 1821 memset(mpsc_ports, 0, sizeof(mpsc_ports)); 1819 1822 memset(&mpsc_shared_regs, 0, sizeof(mpsc_shared_regs));
+16 -17
drivers/serial/pxa.c
··· 805 805 .cons = PXA_CONSOLE, 806 806 }; 807 807 808 - static int serial_pxa_suspend(struct device *_dev, pm_message_t state) 808 + static int serial_pxa_suspend(struct platform_device *dev, pm_message_t state) 809 809 { 810 - struct uart_pxa_port *sport = dev_get_drvdata(_dev); 810 + struct uart_pxa_port *sport = platform_get_drvdata(dev); 811 811 812 812 if (sport) 813 813 uart_suspend_port(&serial_pxa_reg, &sport->port); ··· 815 815 return 0; 816 816 } 817 817 818 - static int serial_pxa_resume(struct device *_dev) 818 + static int serial_pxa_resume(struct platform_device *dev) 819 819 { 820 - struct uart_pxa_port *sport = dev_get_drvdata(_dev); 820 + struct uart_pxa_port *sport = platform_get_drvdata(dev); 821 821 822 822 if (sport) 823 823 uart_resume_port(&serial_pxa_reg, &sport->port); ··· 825 825 return 0; 826 826 } 827 827 828 - static int serial_pxa_probe(struct device *_dev) 828 + static int serial_pxa_probe(struct platform_device *dev) 829 829 { 830 - struct platform_device *dev = to_platform_device(_dev); 831 - 832 - serial_pxa_ports[dev->id].port.dev = _dev; 830 + serial_pxa_ports[dev->id].port.dev = &dev->dev; 833 831 uart_add_one_port(&serial_pxa_reg, &serial_pxa_ports[dev->id].port); 834 - dev_set_drvdata(_dev, &serial_pxa_ports[dev->id]); 832 + platform_set_drvdata(dev, &serial_pxa_ports[dev->id]); 835 833 return 0; 836 834 } 837 835 838 - static int serial_pxa_remove(struct device *_dev) 836 + static int serial_pxa_remove(struct platform_device *dev) 839 837 { 840 - struct uart_pxa_port *sport = dev_get_drvdata(_dev); 838 + struct uart_pxa_port *sport = platform_get_drvdata(dev); 841 839 842 - dev_set_drvdata(_dev, NULL); 840 + platform_set_drvdata(dev, NULL); 843 841 844 842 if (sport) 845 843 uart_remove_one_port(&serial_pxa_reg, &sport->port); ··· 845 847 return 0; 846 848 } 847 849 848 - static struct device_driver serial_pxa_driver = { 849 - .name = "pxa2xx-uart", 850 - .bus = &platform_bus_type, 850 + static struct platform_driver serial_pxa_driver = { 851 851 .probe = serial_pxa_probe, 852 852 .remove = serial_pxa_remove, 853 853 854 854 .suspend = serial_pxa_suspend, 855 855 .resume = serial_pxa_resume, 856 + .driver = { 857 + .name = "pxa2xx-uart", 858 + }, 856 859 }; 857 860 858 861 int __init serial_pxa_init(void) ··· 864 865 if (ret != 0) 865 866 return ret; 866 867 867 - ret = driver_register(&serial_pxa_driver); 868 + ret = platform_driver_register(&serial_pxa_driver); 868 869 if (ret != 0) 869 870 uart_unregister_driver(&serial_pxa_reg); 870 871 ··· 873 874 874 875 void __exit serial_pxa_exit(void) 875 876 { 876 - driver_unregister(&serial_pxa_driver); 877 + platform_driver_unregister(&serial_pxa_driver); 877 878 uart_unregister_driver(&serial_pxa_reg); 878 879 } 879 880
+32 -30
drivers/serial/s3c2410.c
··· 1092 1092 1093 1093 static int probe_index = 0; 1094 1094 1095 - static int s3c24xx_serial_probe(struct device *_dev, 1095 + static int s3c24xx_serial_probe(struct platform_device *dev, 1096 1096 struct s3c24xx_uart_info *info) 1097 1097 { 1098 1098 struct s3c24xx_uart_port *ourport; 1099 - struct platform_device *dev = to_platform_device(_dev); 1100 1099 int ret; 1101 1100 1102 - dbg("s3c24xx_serial_probe(%p, %p) %d\n", _dev, info, probe_index); 1101 + dbg("s3c24xx_serial_probe(%p, %p) %d\n", dev, info, probe_index); 1103 1102 1104 1103 ourport = &s3c24xx_serial_ports[probe_index]; 1105 1104 probe_index++; ··· 1111 1112 1112 1113 dbg("%s: adding port\n", __FUNCTION__); 1113 1114 uart_add_one_port(&s3c24xx_uart_drv, &ourport->port); 1114 - dev_set_drvdata(_dev, &ourport->port); 1115 + platform_set_drvdata(dev, &ourport->port); 1115 1116 1116 1117 return 0; 1117 1118 ··· 1119 1120 return ret; 1120 1121 } 1121 1122 1122 - static int s3c24xx_serial_remove(struct device *_dev) 1123 + static int s3c24xx_serial_remove(struct platform_device *dev) 1123 1124 { 1124 - struct uart_port *port = s3c24xx_dev_to_port(_dev); 1125 + struct uart_port *port = s3c24xx_dev_to_port(&dev->dev); 1125 1126 1126 1127 if (port) 1127 1128 uart_remove_one_port(&s3c24xx_uart_drv, port); ··· 1133 1134 1134 1135 #ifdef CONFIG_PM 1135 1136 1136 - static int s3c24xx_serial_suspend(struct device *dev, pm_message_t state) 1137 + static int s3c24xx_serial_suspend(struct platform_device *dev, pm_message_t state) 1137 1138 { 1138 - struct uart_port *port = s3c24xx_dev_to_port(dev); 1139 + struct uart_port *port = s3c24xx_dev_to_port(&dev->dev); 1139 1140 1140 1141 if (port) 1141 1142 uart_suspend_port(&s3c24xx_uart_drv, port); ··· 1143 1144 return 0; 1144 1145 } 1145 1146 1146 - static int s3c24xx_serial_resume(struct device *dev) 1147 + static int s3c24xx_serial_resume(struct platform_device *dev) 1147 1148 { 1148 - struct uart_port *port = s3c24xx_dev_to_port(dev); 1149 + struct uart_port *port = s3c24xx_dev_to_port(&dev->dev); 1149 1150 struct s3c24xx_uart_port *ourport = to_ourport(port); 1150 1151 1151 1152 if (port) { ··· 1164 1165 #define s3c24xx_serial_resume NULL 1165 1166 #endif 1166 1167 1167 - static int s3c24xx_serial_init(struct device_driver *drv, 1168 + static int s3c24xx_serial_init(struct platform_driver *drv, 1168 1169 struct s3c24xx_uart_info *info) 1169 1170 { 1170 1171 dbg("s3c24xx_serial_init(%p,%p)\n", drv, info); 1171 - return driver_register(drv); 1172 + return platform_driver_register(drv); 1172 1173 } 1173 1174 1174 1175 ··· 1227 1228 .reset_port = s3c2400_serial_resetport, 1228 1229 }; 1229 1230 1230 - static int s3c2400_serial_probe(struct device *dev) 1231 + static int s3c2400_serial_probe(struct platform_device *dev) 1231 1232 { 1232 1233 return s3c24xx_serial_probe(dev, &s3c2400_uart_inf); 1233 1234 } 1234 1235 1235 - static struct device_driver s3c2400_serial_drv = { 1236 - .name = "s3c2400-uart", 1237 - .owner = THIS_MODULE, 1238 - .bus = &platform_bus_type, 1236 + static struct platform_driver s3c2400_serial_drv = { 1239 1237 .probe = s3c2400_serial_probe, 1240 1238 .remove = s3c24xx_serial_remove, 1241 1239 .suspend = s3c24xx_serial_suspend, 1242 1240 .resume = s3c24xx_serial_resume, 1241 + .driver = { 1242 + .name = "s3c2400-uart", 1243 + .owner = THIS_MODULE, 1244 + }, 1243 1245 }; 1244 1246 1245 1247 static inline int s3c2400_serial_init(void) ··· 1250 1250 1251 1251 static inline void s3c2400_serial_exit(void) 1252 1252 { 1253 - driver_unregister(&s3c2400_serial_drv); 1253 + platform_driver_unregister(&s3c2400_serial_drv); 1254 1254 } 1255 1255 1256 1256 #define s3c2400_uart_inf_at &s3c2400_uart_inf ··· 1332 1332 1333 1333 /* device management */ 1334 1334 1335 - static int s3c2410_serial_probe(struct device *dev) 1335 + static int s3c2410_serial_probe(struct platform_device *dev) 1336 1336 { 1337 1337 return s3c24xx_serial_probe(dev, &s3c2410_uart_inf); 1338 1338 } 1339 1339 1340 - static struct device_driver s3c2410_serial_drv = { 1341 - .name = "s3c2410-uart", 1342 - .owner = THIS_MODULE, 1343 - .bus = &platform_bus_type, 1340 + static struct platform_driver s3c2410_serial_drv = { 1344 1341 .probe = s3c2410_serial_probe, 1345 1342 .remove = s3c24xx_serial_remove, 1346 1343 .suspend = s3c24xx_serial_suspend, 1347 1344 .resume = s3c24xx_serial_resume, 1345 + .driver = { 1346 + .name = "s3c2410-uart", 1347 + .owner = THIS_MODULE, 1348 + }, 1348 1349 }; 1349 1350 1350 1351 static inline int s3c2410_serial_init(void) ··· 1355 1354 1356 1355 static inline void s3c2410_serial_exit(void) 1357 1356 { 1358 - driver_unregister(&s3c2410_serial_drv); 1357 + platform_driver_unregister(&s3c2410_serial_drv); 1359 1358 } 1360 1359 1361 1360 #define s3c2410_uart_inf_at &s3c2410_uart_inf ··· 1494 1493 1495 1494 /* device management */ 1496 1495 1497 - static int s3c2440_serial_probe(struct device *dev) 1496 + static int s3c2440_serial_probe(struct platform_device *dev) 1498 1497 { 1499 1498 dbg("s3c2440_serial_probe: dev=%p\n", dev); 1500 1499 return s3c24xx_serial_probe(dev, &s3c2440_uart_inf); 1501 1500 } 1502 1501 1503 - static struct device_driver s3c2440_serial_drv = { 1504 - .name = "s3c2440-uart", 1505 - .owner = THIS_MODULE, 1506 - .bus = &platform_bus_type, 1502 + static struct platform_driver s3c2440_serial_drv = { 1507 1503 .probe = s3c2440_serial_probe, 1508 1504 .remove = s3c24xx_serial_remove, 1509 1505 .suspend = s3c24xx_serial_suspend, 1510 1506 .resume = s3c24xx_serial_resume, 1507 + .driver = { 1508 + .name = "s3c2440-uart", 1509 + .owner = THIS_MODULE, 1510 + }, 1511 1511 }; 1512 1512 1513 1513 ··· 1519 1517 1520 1518 static inline void s3c2440_serial_exit(void) 1521 1519 { 1522 - driver_unregister(&s3c2440_serial_drv); 1520 + platform_driver_unregister(&s3c2440_serial_drv); 1523 1521 } 1524 1522 1525 1523 #define s3c2440_uart_inf_at &s3c2440_uart_inf
+16 -16
drivers/serial/sa1100.c
··· 834 834 .cons = SA1100_CONSOLE, 835 835 }; 836 836 837 - static int sa1100_serial_suspend(struct device *_dev, pm_message_t state) 837 + static int sa1100_serial_suspend(struct platform_device *dev, pm_message_t state) 838 838 { 839 - struct sa1100_port *sport = dev_get_drvdata(_dev); 839 + struct sa1100_port *sport = platform_get_drvdata(dev); 840 840 841 841 if (sport) 842 842 uart_suspend_port(&sa1100_reg, &sport->port); ··· 844 844 return 0; 845 845 } 846 846 847 - static int sa1100_serial_resume(struct device *_dev) 847 + static int sa1100_serial_resume(struct platform_device *dev) 848 848 { 849 - struct sa1100_port *sport = dev_get_drvdata(_dev); 849 + struct sa1100_port *sport = platform_get_drvdata(dev); 850 850 851 851 if (sport) 852 852 uart_resume_port(&sa1100_reg, &sport->port); ··· 854 854 return 0; 855 855 } 856 856 857 - static int sa1100_serial_probe(struct device *_dev) 857 + static int sa1100_serial_probe(struct platform_device *dev) 858 858 { 859 - struct platform_device *dev = to_platform_device(_dev); 860 859 struct resource *res = dev->resource; 861 860 int i; 862 861 ··· 868 869 if (sa1100_ports[i].port.mapbase != res->start) 869 870 continue; 870 871 871 - sa1100_ports[i].port.dev = _dev; 872 + sa1100_ports[i].port.dev = &dev->dev; 872 873 uart_add_one_port(&sa1100_reg, &sa1100_ports[i].port); 873 - dev_set_drvdata(_dev, &sa1100_ports[i]); 874 + platform_set_drvdata(dev, &sa1100_ports[i]); 874 875 break; 875 876 } 876 877 } ··· 878 879 return 0; 879 880 } 880 881 881 - static int sa1100_serial_remove(struct device *_dev) 882 + static int sa1100_serial_remove(struct platform_device *pdev) 882 883 { 883 - struct sa1100_port *sport = dev_get_drvdata(_dev); 884 + struct sa1100_port *sport = platform_get_drvdata(pdev); 884 885 885 - dev_set_drvdata(_dev, NULL); 886 + platform_set_drvdata(pdev, NULL); 886 887 887 888 if (sport) 888 889 uart_remove_one_port(&sa1100_reg, &sport->port); ··· 890 891 return 0; 891 892 } 892 893 893 - static struct device_driver sa11x0_serial_driver = { 894 - .name = "sa11x0-uart", 895 - .bus = &platform_bus_type, 894 + static struct platform_driver sa11x0_serial_driver = { 896 895 .probe = sa1100_serial_probe, 897 896 .remove = sa1100_serial_remove, 898 897 .suspend = sa1100_serial_suspend, 899 898 .resume = sa1100_serial_resume, 899 + .driver = { 900 + .name = "sa11x0-uart", 901 + }, 900 902 }; 901 903 902 904 static int __init sa1100_serial_init(void) ··· 910 910 911 911 ret = uart_register_driver(&sa1100_reg); 912 912 if (ret == 0) { 913 - ret = driver_register(&sa11x0_serial_driver); 913 + ret = platform_driver_register(&sa11x0_serial_driver); 914 914 if (ret) 915 915 uart_unregister_driver(&sa1100_reg); 916 916 } ··· 919 919 920 920 static void __exit sa1100_serial_exit(void) 921 921 { 922 - driver_unregister(&sa11x0_serial_driver); 922 + platform_driver_unregister(&sa11x0_serial_driver); 923 923 uart_unregister_driver(&sa1100_reg); 924 924 } 925 925
+14 -13
drivers/serial/vr41xx_siu.c
··· 924 924 .cons = SERIAL_VR41XX_CONSOLE, 925 925 }; 926 926 927 - static int siu_probe(struct device *dev) 927 + static int siu_probe(struct platform_device *dev) 928 928 { 929 929 struct uart_port *port; 930 930 int num, i, retval; ··· 941 941 for (i = 0; i < num; i++) { 942 942 port = &siu_uart_ports[i]; 943 943 port->ops = &siu_uart_ops; 944 - port->dev = dev; 944 + port->dev = &dev->dev; 945 945 946 946 retval = uart_add_one_port(&siu_uart_driver, port); 947 947 if (retval < 0) { ··· 958 958 return 0; 959 959 } 960 960 961 - static int siu_remove(struct device *dev) 961 + static int siu_remove(struct platform_device *dev) 962 962 { 963 963 struct uart_port *port; 964 964 int i; 965 965 966 966 for (i = 0; i < siu_uart_driver.nr; i++) { 967 967 port = &siu_uart_ports[i]; 968 - if (port->dev == dev) { 968 + if (port->dev == &dev->dev) { 969 969 uart_remove_one_port(&siu_uart_driver, port); 970 970 port->dev = NULL; 971 971 } ··· 976 976 return 0; 977 977 } 978 978 979 - static int siu_suspend(struct device *dev, pm_message_t state) 979 + static int siu_suspend(struct platform_device *dev, pm_message_t state) 980 980 { 981 981 struct uart_port *port; 982 982 int i; ··· 984 984 for (i = 0; i < siu_uart_driver.nr; i++) { 985 985 port = &siu_uart_ports[i]; 986 986 if ((port->type == PORT_VR41XX_SIU || 987 - port->type == PORT_VR41XX_DSIU) && port->dev == dev) 987 + port->type == PORT_VR41XX_DSIU) && port->dev == &dev->dev) 988 988 uart_suspend_port(&siu_uart_driver, port); 989 989 990 990 } ··· 992 992 return 0; 993 993 } 994 994 995 - static int siu_resume(struct device *dev) 995 + static int siu_resume(struct platform_device *dev) 996 996 { 997 997 struct uart_port *port; 998 998 int i; ··· 1000 1000 for (i = 0; i < siu_uart_driver.nr; i++) { 1001 1001 port = &siu_uart_ports[i]; 1002 1002 if ((port->type == PORT_VR41XX_SIU || 1003 - port->type == PORT_VR41XX_DSIU) && port->dev == dev) 1003 + port->type == PORT_VR41XX_DSIU) && port->dev == &dev->dev) 1004 1004 uart_resume_port(&siu_uart_driver, port); 1005 1005 } 1006 1006 ··· 1009 1009 1010 1010 static struct platform_device *siu_platform_device; 1011 1011 1012 - static struct device_driver siu_device_driver = { 1013 - .name = "SIU", 1014 - .bus = &platform_bus_type, 1012 + static struct platform_driver siu_device_driver = { 1015 1013 .probe = siu_probe, 1016 1014 .remove = siu_remove, 1017 1015 .suspend = siu_suspend, 1018 1016 .resume = siu_resume, 1017 + .driver = { 1018 + .name = "SIU", 1019 + }, 1019 1020 }; 1020 1021 1021 1022 static int __devinit vr41xx_siu_init(void) ··· 1027 1026 if (IS_ERR(siu_platform_device)) 1028 1027 return PTR_ERR(siu_platform_device); 1029 1028 1030 - retval = driver_register(&siu_device_driver); 1029 + retval = platform_driver_register(&siu_device_driver); 1031 1030 if (retval < 0) 1032 1031 platform_device_unregister(siu_platform_device); 1033 1032 ··· 1036 1035 1037 1036 static void __devexit vr41xx_siu_exit(void) 1038 1037 { 1039 - driver_unregister(&siu_device_driver); 1038 + platform_driver_unregister(&siu_device_driver); 1040 1039 1041 1040 platform_device_unregister(siu_platform_device); 1042 1041 }
+39 -37
drivers/usb/gadget/dummy_hcd.c
··· 897 897 #endif 898 898 } 899 899 900 - static int dummy_udc_probe (struct device *dev) 900 + static int dummy_udc_probe (struct platform_device *dev) 901 901 { 902 902 struct dummy *dum = the_controller; 903 903 int rc; ··· 910 910 dum->gadget.is_otg = (dummy_to_hcd(dum)->self.otg_port != 0); 911 911 912 912 strcpy (dum->gadget.dev.bus_id, "gadget"); 913 - dum->gadget.dev.parent = dev; 913 + dum->gadget.dev.parent = &dev->dev; 914 914 dum->gadget.dev.release = dummy_gadget_release; 915 915 rc = device_register (&dum->gadget.dev); 916 916 if (rc < 0) ··· 920 920 usb_bus_get (&dummy_to_hcd (dum)->self); 921 921 #endif 922 922 923 - dev_set_drvdata (dev, dum); 923 + platform_set_drvdata (dev, dum); 924 924 device_create_file (&dum->gadget.dev, &dev_attr_function); 925 925 return rc; 926 926 } 927 927 928 - static int dummy_udc_remove (struct device *dev) 928 + static int dummy_udc_remove (struct platform_device *dev) 929 929 { 930 - struct dummy *dum = dev_get_drvdata (dev); 930 + struct dummy *dum = platform_get_drvdata (dev); 931 931 932 - dev_set_drvdata (dev, NULL); 932 + platform_set_drvdata (dev, NULL); 933 933 device_remove_file (&dum->gadget.dev, &dev_attr_function); 934 934 device_unregister (&dum->gadget.dev); 935 935 return 0; 936 936 } 937 937 938 - static int dummy_udc_suspend (struct device *dev, pm_message_t state) 938 + static int dummy_udc_suspend (struct platform_device *dev, pm_message_t state) 939 939 { 940 - struct dummy *dum = dev_get_drvdata(dev); 940 + struct dummy *dum = platform_get_drvdata(dev); 941 941 942 - dev_dbg (dev, "%s\n", __FUNCTION__); 942 + dev_dbg (&dev->dev, "%s\n", __FUNCTION__); 943 943 spin_lock_irq (&dum->lock); 944 944 dum->udc_suspended = 1; 945 945 set_link_state (dum); ··· 950 950 return 0; 951 951 } 952 952 953 - static int dummy_udc_resume (struct device *dev) 953 + static int dummy_udc_resume (struct platform_device *dev) 954 954 { 955 - struct dummy *dum = dev_get_drvdata(dev); 955 + struct dummy *dum = platform_get_drvdata(dev); 956 956 957 - dev_dbg (dev, "%s\n", __FUNCTION__); 957 + dev_dbg (&dev->dev, "%s\n", __FUNCTION__); 958 958 spin_lock_irq (&dum->lock); 959 959 dum->udc_suspended = 0; 960 960 set_link_state (dum); 961 961 spin_unlock_irq (&dum->lock); 962 962 963 - dev->power.power_state = PMSG_ON; 963 + dev->dev.power.power_state = PMSG_ON; 964 964 usb_hcd_poll_rh_status (dummy_to_hcd (dum)); 965 965 return 0; 966 966 } 967 967 968 - static struct device_driver dummy_udc_driver = { 969 - .name = (char *) gadget_name, 970 - .owner = THIS_MODULE, 971 - .bus = &platform_bus_type, 968 + static struct platform_driver dummy_udc_driver = { 972 969 .probe = dummy_udc_probe, 973 970 .remove = dummy_udc_remove, 974 971 .suspend = dummy_udc_suspend, 975 972 .resume = dummy_udc_resume, 973 + .driver = { 974 + .name = (char *) gadget_name, 975 + .owner = THIS_MODULE, 976 + }, 976 977 }; 977 978 978 979 /*-------------------------------------------------------------------------*/ ··· 1900 1899 .bus_resume = dummy_bus_resume, 1901 1900 }; 1902 1901 1903 - static int dummy_hcd_probe (struct device *dev) 1902 + static int dummy_hcd_probe (struct platform_device *dev) 1904 1903 { 1905 1904 struct usb_hcd *hcd; 1906 1905 int retval; 1907 1906 1908 1907 dev_info (dev, "%s, driver " DRIVER_VERSION "\n", driver_desc); 1909 1908 1910 - hcd = usb_create_hcd (&dummy_hcd, dev, dev->bus_id); 1909 + hcd = usb_create_hcd (&dummy_hcd, &dev->dev, dev->dev.bus_id); 1911 1910 if (!hcd) 1912 1911 return -ENOMEM; 1913 1912 the_controller = hcd_to_dummy (hcd); ··· 1920 1919 return retval; 1921 1920 } 1922 1921 1923 - static int dummy_hcd_remove (struct device *dev) 1922 + static int dummy_hcd_remove (struct platform_device *dev) 1924 1923 { 1925 1924 struct usb_hcd *hcd; 1926 1925 1927 - hcd = dev_get_drvdata (dev); 1926 + hcd = platform_get_drvdata (dev); 1928 1927 usb_remove_hcd (hcd); 1929 1928 usb_put_hcd (hcd); 1930 1929 the_controller = NULL; 1931 1930 return 0; 1932 1931 } 1933 1932 1934 - static int dummy_hcd_suspend (struct device *dev, pm_message_t state) 1933 + static int dummy_hcd_suspend (struct platform_device *dev, pm_message_t state) 1935 1934 { 1936 1935 struct usb_hcd *hcd; 1937 1936 1938 - dev_dbg (dev, "%s\n", __FUNCTION__); 1939 - hcd = dev_get_drvdata (dev); 1937 + dev_dbg (&dev->dev, "%s\n", __FUNCTION__); 1938 + hcd = platform_get_drvdata (dev); 1940 1939 1941 1940 hcd->state = HC_STATE_SUSPENDED; 1942 1941 return 0; 1943 1942 } 1944 1943 1945 - static int dummy_hcd_resume (struct device *dev) 1944 + static int dummy_hcd_resume (struct platform_device *dev) 1946 1945 { 1947 1946 struct usb_hcd *hcd; 1948 1947 1949 - dev_dbg (dev, "%s\n", __FUNCTION__); 1950 - hcd = dev_get_drvdata (dev); 1948 + dev_dbg (&dev->dev, "%s\n", __FUNCTION__); 1949 + hcd = platform_get_drvdata (dev); 1951 1950 hcd->state = HC_STATE_RUNNING; 1952 1951 1953 1952 usb_hcd_poll_rh_status (hcd); 1954 1953 return 0; 1955 1954 } 1956 1955 1957 - static struct device_driver dummy_hcd_driver = { 1958 - .name = (char *) driver_name, 1959 - .owner = THIS_MODULE, 1960 - .bus = &platform_bus_type, 1956 + static struct platform_driver dummy_hcd_driver = { 1961 1957 .probe = dummy_hcd_probe, 1962 1958 .remove = dummy_hcd_remove, 1963 1959 .suspend = dummy_hcd_suspend, 1964 1960 .resume = dummy_hcd_resume, 1961 + .driver = { 1962 + .name = (char *) driver_name, 1963 + .owner = THIS_MODULE, 1964 + }, 1965 1965 }; 1966 1966 1967 1967 /*-------------------------------------------------------------------------*/ ··· 1998 1996 if (usb_disabled ()) 1999 1997 return -ENODEV; 2000 1998 2001 - retval = driver_register (&dummy_hcd_driver); 1999 + retval = platform_driver_register (&dummy_hcd_driver); 2002 2000 if (retval < 0) 2003 2001 return retval; 2004 2002 2005 - retval = driver_register (&dummy_udc_driver); 2003 + retval = platform_driver_register (&dummy_udc_driver); 2006 2004 if (retval < 0) 2007 2005 goto err_register_udc_driver; 2008 2006 ··· 2018 2016 err_register_udc: 2019 2017 platform_device_unregister (&the_hcd_pdev); 2020 2018 err_register_hcd: 2021 - driver_unregister (&dummy_udc_driver); 2019 + platform_driver_unregister (&dummy_udc_driver); 2022 2020 err_register_udc_driver: 2023 - driver_unregister (&dummy_hcd_driver); 2021 + platform_driver_unregister (&dummy_hcd_driver); 2024 2022 return retval; 2025 2023 } 2026 2024 module_init (init); ··· 2029 2027 { 2030 2028 platform_device_unregister (&the_udc_pdev); 2031 2029 platform_device_unregister (&the_hcd_pdev); 2032 - driver_unregister (&dummy_udc_driver); 2033 - driver_unregister (&dummy_hcd_driver); 2030 + platform_driver_unregister (&dummy_udc_driver); 2031 + platform_driver_unregister (&dummy_hcd_driver); 2034 2032 } 2035 2033 module_exit (cleanup);
+16 -15
drivers/usb/gadget/lh7a40x_udc.c
··· 2085 2085 /* 2086 2086 * probe - binds to the platform device 2087 2087 */ 2088 - static int lh7a40x_udc_probe(struct device *_dev) 2088 + static int lh7a40x_udc_probe(struct platform_device *pdev) 2089 2089 { 2090 2090 struct lh7a40x_udc *dev = &memory; 2091 2091 int retval; 2092 2092 2093 - DEBUG("%s: %p\n", __FUNCTION__, _dev); 2093 + DEBUG("%s: %p\n", __FUNCTION__, pdev); 2094 2094 2095 2095 spin_lock_init(&dev->lock); 2096 - dev->dev = _dev; 2096 + dev->dev = &pdev->dev; 2097 2097 2098 2098 device_initialize(&dev->gadget.dev); 2099 - dev->gadget.dev.parent = _dev; 2099 + dev->gadget.dev.parent = &pdev->dev; 2100 2100 2101 2101 the_controller = dev; 2102 - dev_set_drvdata(_dev, dev); 2102 + platform_set_drvdata(pdev, dev); 2103 2103 2104 2104 udc_disable(dev); 2105 2105 udc_reinit(dev); ··· 2119 2119 return retval; 2120 2120 } 2121 2121 2122 - static int lh7a40x_udc_remove(struct device *_dev) 2122 + static int lh7a40x_udc_remove(struct platform_device *pdev) 2123 2123 { 2124 - struct lh7a40x_udc *dev = _dev->driver_data; 2124 + struct lh7a40x_udc *dev = platform_get_drvdata(pdev); 2125 2125 2126 - DEBUG("%s: %p\n", __FUNCTION__, dev); 2126 + DEBUG("%s: %p\n", __FUNCTION__, pdev); 2127 2127 2128 2128 udc_disable(dev); 2129 2129 remove_proc_files(); ··· 2131 2131 2132 2132 free_irq(IRQ_USBINTR, dev); 2133 2133 2134 - dev_set_drvdata(_dev, 0); 2134 + platform_set_drvdata(pdev, 0); 2135 2135 2136 2136 the_controller = 0; 2137 2137 ··· 2140 2140 2141 2141 /*-------------------------------------------------------------------------*/ 2142 2142 2143 - static struct device_driver udc_driver = { 2144 - .name = (char *)driver_name, 2145 - .owner = THIS_MODULE, 2146 - .bus = &platform_bus_type, 2143 + static struct platform_driver udc_driver = { 2147 2144 .probe = lh7a40x_udc_probe, 2148 2145 .remove = lh7a40x_udc_remove 2149 2146 /* FIXME power management support */ 2150 2147 /* .suspend = ... disable UDC */ 2151 2148 /* .resume = ... re-enable UDC */ 2149 + .driver = { 2150 + .name = (char *)driver_name, 2151 + .owner = THIS_MODULE, 2152 + }, 2152 2153 }; 2153 2154 2154 2155 static int __init udc_init(void) 2155 2156 { 2156 2157 DEBUG("%s: %s version %s\n", __FUNCTION__, driver_name, DRIVER_VERSION); 2157 - return driver_register(&udc_driver); 2158 + return platform_driver_register(&udc_driver); 2158 2159 } 2159 2160 2160 2161 static void __exit udc_exit(void) 2161 2162 { 2162 - driver_unregister(&udc_driver); 2163 + platform_driver_unregister(&udc_driver); 2163 2164 } 2164 2165 2165 2166 module_init(udc_init);
+30 -31
drivers/usb/gadget/omap_udc.c
··· 2707 2707 return 0; 2708 2708 } 2709 2709 2710 - static int __init omap_udc_probe(struct device *dev) 2710 + static int __init omap_udc_probe(struct platform_device *pdev) 2711 2711 { 2712 - struct platform_device *odev = to_platform_device(dev); 2713 2712 int status = -ENODEV; 2714 2713 int hmc; 2715 2714 struct otg_transceiver *xceiv = NULL; 2716 2715 const char *type = NULL; 2717 - struct omap_usb_config *config = dev->platform_data; 2716 + struct omap_usb_config *config = pdev->dev.platform_data; 2718 2717 2719 2718 /* NOTE: "knows" the order of the resources! */ 2720 - if (!request_mem_region(odev->resource[0].start, 2721 - odev->resource[0].end - odev->resource[0].start + 1, 2719 + if (!request_mem_region(pdev->resource[0].start, 2720 + pdev->resource[0].end - pdev->resource[0].start + 1, 2722 2721 driver_name)) { 2723 2722 DBG("request_mem_region failed\n"); 2724 2723 return -EBUSY; ··· 2802 2803 INFO("hmc mode %d, %s transceiver\n", hmc, type); 2803 2804 2804 2805 /* a "gadget" abstracts/virtualizes the controller */ 2805 - status = omap_udc_setup(odev, xceiv); 2806 + status = omap_udc_setup(pdev, xceiv); 2806 2807 if (status) { 2807 2808 goto cleanup0; 2808 2809 } ··· 2820 2821 udc->clr_halt = UDC_RESET_EP; 2821 2822 2822 2823 /* USB general purpose IRQ: ep0, state changes, dma, etc */ 2823 - status = request_irq(odev->resource[1].start, omap_udc_irq, 2824 + status = request_irq(pdev->resource[1].start, omap_udc_irq, 2824 2825 SA_SAMPLE_RANDOM, driver_name, udc); 2825 2826 if (status != 0) { 2826 2827 ERR( "can't get irq %ld, err %d\n", 2827 - odev->resource[1].start, status); 2828 + pdev->resource[1].start, status); 2828 2829 goto cleanup1; 2829 2830 } 2830 2831 2831 2832 /* USB "non-iso" IRQ (PIO for all but ep0) */ 2832 - status = request_irq(odev->resource[2].start, omap_udc_pio_irq, 2833 + status = request_irq(pdev->resource[2].start, omap_udc_pio_irq, 2833 2834 SA_SAMPLE_RANDOM, "omap_udc pio", udc); 2834 2835 if (status != 0) { 2835 2836 ERR( "can't get irq %ld, err %d\n", 2836 - odev->resource[2].start, status); 2837 + pdev->resource[2].start, status); 2837 2838 goto cleanup2; 2838 2839 } 2839 2840 #ifdef USE_ISO 2840 - status = request_irq(odev->resource[3].start, omap_udc_iso_irq, 2841 + status = request_irq(pdev->resource[3].start, omap_udc_iso_irq, 2841 2842 SA_INTERRUPT, "omap_udc iso", udc); 2842 2843 if (status != 0) { 2843 2844 ERR("can't get irq %ld, err %d\n", 2844 - odev->resource[3].start, status); 2845 + pdev->resource[3].start, status); 2845 2846 goto cleanup3; 2846 2847 } 2847 2848 #endif ··· 2852 2853 2853 2854 #ifdef USE_ISO 2854 2855 cleanup3: 2855 - free_irq(odev->resource[2].start, udc); 2856 + free_irq(pdev->resource[2].start, udc); 2856 2857 #endif 2857 2858 2858 2859 cleanup2: 2859 - free_irq(odev->resource[1].start, udc); 2860 + free_irq(pdev->resource[1].start, udc); 2860 2861 2861 2862 cleanup1: 2862 2863 kfree (udc); ··· 2865 2866 cleanup0: 2866 2867 if (xceiv) 2867 2868 put_device(xceiv->dev); 2868 - release_mem_region(odev->resource[0].start, 2869 - odev->resource[0].end - odev->resource[0].start + 1); 2869 + release_mem_region(pdev->resource[0].start, 2870 + pdev->resource[0].end - pdev->resource[0].start + 1); 2870 2871 return status; 2871 2872 } 2872 2873 2873 - static int __exit omap_udc_remove(struct device *dev) 2874 + static int __exit omap_udc_remove(struct platform_device *pdev) 2874 2875 { 2875 - struct platform_device *odev = to_platform_device(dev); 2876 2876 DECLARE_COMPLETION(done); 2877 2877 2878 2878 if (!udc) ··· 2889 2891 remove_proc_file(); 2890 2892 2891 2893 #ifdef USE_ISO 2892 - free_irq(odev->resource[3].start, udc); 2894 + free_irq(pdev->resource[3].start, udc); 2893 2895 #endif 2894 - free_irq(odev->resource[2].start, udc); 2895 - free_irq(odev->resource[1].start, udc); 2896 + free_irq(pdev->resource[2].start, udc); 2897 + free_irq(pdev->resource[1].start, udc); 2896 2898 2897 - release_mem_region(odev->resource[0].start, 2898 - odev->resource[0].end - odev->resource[0].start + 1); 2899 + release_mem_region(pdev->resource[0].start, 2900 + pdev->resource[0].end - pdev->resource[0].start + 1); 2899 2901 2900 2902 device_unregister(&udc->gadget.dev); 2901 2903 wait_for_completion(&done); ··· 2913 2915 * may involve talking to an external transceiver (e.g. isp1301). 2914 2916 */ 2915 2917 2916 - static int omap_udc_suspend(struct device *dev, pm_message_t message) 2918 + static int omap_udc_suspend(struct platform_device *dev, pm_message_t message) 2917 2919 { 2918 2920 u32 devstat; 2919 2921 ··· 2933 2935 return 0; 2934 2936 } 2935 2937 2936 - static int omap_udc_resume(struct device *dev) 2938 + static int omap_udc_resume(struct platform_device *dev) 2937 2939 { 2938 2940 DBG("resume + wakeup/SRP\n"); 2939 2941 omap_pullup(&udc->gadget, 1); ··· 2945 2947 2946 2948 /*-------------------------------------------------------------------------*/ 2947 2949 2948 - static struct device_driver udc_driver = { 2949 - .name = (char *) driver_name, 2950 - .owner = THIS_MODULE, 2951 - .bus = &platform_bus_type, 2950 + static struct platform_driver udc_driver = { 2952 2951 .probe = omap_udc_probe, 2953 2952 .remove = __exit_p(omap_udc_remove), 2954 2953 .suspend = omap_udc_suspend, 2955 2954 .resume = omap_udc_resume, 2955 + .driver = { 2956 + .owner = THIS_MODULE, 2957 + .name = (char *) driver_name, 2958 + }, 2956 2959 }; 2957 2960 2958 2961 static int __init udc_init(void) ··· 2964 2965 #endif 2965 2966 "%s\n", driver_desc, 2966 2967 use_dma ? " (dma)" : ""); 2967 - return driver_register(&udc_driver); 2968 + return platform_driver_register(&udc_driver); 2968 2969 } 2969 2970 module_init(udc_init); 2970 2971 2971 2972 static void __exit udc_exit(void) 2972 2973 { 2973 - driver_unregister(&udc_driver); 2974 + platform_driver_unregister(&udc_driver); 2974 2975 } 2975 2976 module_exit(udc_exit); 2976 2977
+21 -20
drivers/usb/gadget/pxa2xx_udc.c
··· 2433 2433 /* 2434 2434 * probe - binds to the platform device 2435 2435 */ 2436 - static int __init pxa2xx_udc_probe(struct device *_dev) 2436 + static int __init pxa2xx_udc_probe(struct platform_device *pdev) 2437 2437 { 2438 2438 struct pxa2xx_udc *dev = &memory; 2439 2439 int retval, out_dma = 1; ··· 2496 2496 #endif 2497 2497 2498 2498 /* other non-static parts of init */ 2499 - dev->dev = _dev; 2500 - dev->mach = _dev->platform_data; 2499 + dev->dev = &pdev->dev; 2500 + dev->mach = pdev->dev.platform_data; 2501 2501 2502 2502 init_timer(&dev->timer); 2503 2503 dev->timer.function = udc_watchdog; 2504 2504 dev->timer.data = (unsigned long) dev; 2505 2505 2506 2506 device_initialize(&dev->gadget.dev); 2507 - dev->gadget.dev.parent = _dev; 2508 - dev->gadget.dev.dma_mask = _dev->dma_mask; 2507 + dev->gadget.dev.parent = &pdev->dev; 2508 + dev->gadget.dev.dma_mask = pdev->dev.dma_mask; 2509 2509 2510 2510 the_controller = dev; 2511 - dev_set_drvdata(_dev, dev); 2511 + platform_set_drvdata(pdev, dev); 2512 2512 2513 2513 udc_disable(dev); 2514 2514 udc_reinit(dev); ··· 2560 2560 return 0; 2561 2561 } 2562 2562 2563 - static void pxa2xx_udc_shutdown(struct device *_dev) 2563 + static void pxa2xx_udc_shutdown(struct platform_device *_dev) 2564 2564 { 2565 2565 pullup_off(); 2566 2566 } 2567 2567 2568 - static int __exit pxa2xx_udc_remove(struct device *_dev) 2568 + static int __exit pxa2xx_udc_remove(struct platform_device *pdev) 2569 2569 { 2570 - struct pxa2xx_udc *dev = dev_get_drvdata(_dev); 2570 + struct pxa2xx_udc *dev = platform_get_drvdata(pdev); 2571 2571 2572 2572 udc_disable(dev); 2573 2573 remove_proc_files(); ··· 2581 2581 free_irq(LUBBOCK_USB_DISC_IRQ, dev); 2582 2582 free_irq(LUBBOCK_USB_IRQ, dev); 2583 2583 } 2584 - dev_set_drvdata(_dev, NULL); 2584 + platform_set_drvdata(pdev, NULL); 2585 2585 the_controller = NULL; 2586 2586 return 0; 2587 2587 } ··· 2602 2602 * VBUS IRQs should probably be ignored so that the PXA device just acts 2603 2603 * "dead" to USB hosts until system resume. 2604 2604 */ 2605 - static int pxa2xx_udc_suspend(struct device *dev, pm_message_t state) 2605 + static int pxa2xx_udc_suspend(struct platform_device *dev, pm_message_t state) 2606 2606 { 2607 - struct pxa2xx_udc *udc = dev_get_drvdata(dev); 2607 + struct pxa2xx_udc *udc = platform_get_drvdata(dev); 2608 2608 2609 2609 if (!udc->mach->udc_command) 2610 2610 WARN("USB host won't detect disconnect!\n"); ··· 2613 2613 return 0; 2614 2614 } 2615 2615 2616 - static int pxa2xx_udc_resume(struct device *dev) 2616 + static int pxa2xx_udc_resume(struct platform_device *dev) 2617 2617 { 2618 - struct pxa2xx_udc *udc = dev_get_drvdata(dev); 2618 + struct pxa2xx_udc *udc = platform_get_drvdata(dev); 2619 2619 2620 2620 pullup(udc, 1); 2621 2621 ··· 2629 2629 2630 2630 /*-------------------------------------------------------------------------*/ 2631 2631 2632 - static struct device_driver udc_driver = { 2633 - .name = "pxa2xx-udc", 2634 - .owner = THIS_MODULE, 2635 - .bus = &platform_bus_type, 2632 + static struct platform_driver udc_driver = { 2636 2633 .probe = pxa2xx_udc_probe, 2637 2634 .shutdown = pxa2xx_udc_shutdown, 2638 2635 .remove = __exit_p(pxa2xx_udc_remove), 2639 2636 .suspend = pxa2xx_udc_suspend, 2640 2637 .resume = pxa2xx_udc_resume, 2638 + .driver = { 2639 + .owner = THIS_MODULE, 2640 + .name = "pxa2xx-udc", 2641 + }, 2641 2642 }; 2642 2643 2643 2644 static int __init udc_init(void) 2644 2645 { 2645 2646 printk(KERN_INFO "%s: version %s\n", driver_name, DRIVER_VERSION); 2646 - return driver_register(&udc_driver); 2647 + return platform_driver_register(&udc_driver); 2647 2648 } 2648 2649 module_init(udc_init); 2649 2650 2650 2651 static void __exit udc_exit(void) 2651 2652 { 2652 - driver_unregister(&udc_driver); 2653 + platform_driver_unregister(&udc_driver); 2653 2654 } 2654 2655 module_exit(udc_exit); 2655 2656
+17 -20
drivers/usb/host/isp116x-hcd.c
··· 1633 1633 1634 1634 /*----------------------------------------------------------------*/ 1635 1635 1636 - static int __init_or_module isp116x_remove(struct device *dev) 1636 + static int __init_or_module isp116x_remove(struct platform_device *pdev) 1637 1637 { 1638 - struct usb_hcd *hcd = dev_get_drvdata(dev); 1638 + struct usb_hcd *hcd = platform_get_drvdata(pdev); 1639 1639 struct isp116x *isp116x; 1640 - struct platform_device *pdev; 1641 1640 struct resource *res; 1642 1641 1643 1642 if (!hcd) 1644 1643 return 0; 1645 1644 isp116x = hcd_to_isp116x(hcd); 1646 - pdev = container_of(dev, struct platform_device, dev); 1647 1645 remove_debug_file(isp116x); 1648 1646 usb_remove_hcd(hcd); 1649 1647 ··· 1658 1660 1659 1661 #define resource_len(r) (((r)->end - (r)->start) + 1) 1660 1662 1661 - static int __init isp116x_probe(struct device *dev) 1663 + static int __init isp116x_probe(struct platform_device *pdev) 1662 1664 { 1663 1665 struct usb_hcd *hcd; 1664 1666 struct isp116x *isp116x; 1665 - struct platform_device *pdev; 1666 1667 struct resource *addr, *data; 1667 1668 void __iomem *addr_reg; 1668 1669 void __iomem *data_reg; 1669 1670 int irq; 1670 1671 int ret = 0; 1671 1672 1672 - pdev = container_of(dev, struct platform_device, dev); 1673 1673 if (pdev->num_resources < 3) { 1674 1674 ret = -ENODEV; 1675 1675 goto err1; ··· 1681 1685 goto err1; 1682 1686 } 1683 1687 1684 - if (dev->dma_mask) { 1688 + if (pdev->dev.dma_mask) { 1685 1689 DBG("DMA not supported\n"); 1686 1690 ret = -EINVAL; 1687 1691 goto err1; ··· 1707 1711 } 1708 1712 1709 1713 /* allocate and initialize hcd */ 1710 - hcd = usb_create_hcd(&isp116x_hc_driver, dev, dev->bus_id); 1714 + hcd = usb_create_hcd(&isp116x_hc_driver, &pdev->dev, pdev->dev.bus_id); 1711 1715 if (!hcd) { 1712 1716 ret = -ENOMEM; 1713 1717 goto err5; ··· 1719 1723 isp116x->addr_reg = addr_reg; 1720 1724 spin_lock_init(&isp116x->lock); 1721 1725 INIT_LIST_HEAD(&isp116x->async); 1722 - isp116x->board = dev->platform_data; 1726 + isp116x->board = pdev->dev.platform_data; 1723 1727 1724 1728 if (!isp116x->board) { 1725 1729 ERR("Platform data structure not initialized\n"); ··· 1760 1764 /* 1761 1765 Suspend of platform device 1762 1766 */ 1763 - static int isp116x_suspend(struct device *dev, pm_message_t state) 1767 + static int isp116x_suspend(struct platform_device *dev, pm_message_t state) 1764 1768 { 1765 1769 int ret = 0; 1766 1770 1767 1771 VDBG("%s: state %x\n", __func__, state); 1768 1772 1769 - dev->power.power_state = state; 1773 + dev->dev.power.power_state = state; 1770 1774 1771 1775 return ret; 1772 1776 } ··· 1774 1778 /* 1775 1779 Resume platform device 1776 1780 */ 1777 - static int isp116x_resume(struct device *dev) 1781 + static int isp116x_resume(struct platform_device *dev) 1778 1782 { 1779 1783 int ret = 0; 1780 1784 1781 - VDBG("%s: state %x\n", __func__, dev->power.power_state); 1785 + VDBG("%s: state %x\n", __func__, dev->dev.power.power_state); 1782 1786 1783 - dev->power.power_state = PMSG_ON; 1787 + dev->dev.power.power_state = PMSG_ON; 1784 1788 1785 1789 return ret; 1786 1790 } ··· 1792 1796 1793 1797 #endif 1794 1798 1795 - static struct device_driver isp116x_driver = { 1796 - .name = (char *)hcd_name, 1797 - .bus = &platform_bus_type, 1799 + static struct platform_driver isp116x_driver = { 1798 1800 .probe = isp116x_probe, 1799 1801 .remove = isp116x_remove, 1800 1802 .suspend = isp116x_suspend, 1801 1803 .resume = isp116x_resume, 1804 + .driver = { 1805 + .name = (char *)hcd_name, 1806 + }, 1802 1807 }; 1803 1808 1804 1809 /*-----------------------------------------------------------------*/ ··· 1810 1813 return -ENODEV; 1811 1814 1812 1815 INFO("driver %s, %s\n", hcd_name, DRIVER_VERSION); 1813 - return driver_register(&isp116x_driver); 1816 + return platform_driver_register(&isp116x_driver); 1814 1817 } 1815 1818 1816 1819 module_init(isp116x_init); 1817 1820 1818 1821 static void __exit isp116x_cleanup(void) 1819 1822 { 1820 - driver_unregister(&isp116x_driver); 1823 + platform_driver_unregister(&isp116x_driver); 1821 1824 } 1822 1825 1823 1826 module_exit(isp116x_cleanup);
+14 -17
drivers/usb/host/ohci-au1xxx.c
··· 225 225 226 226 /*-------------------------------------------------------------------------*/ 227 227 228 - static int ohci_hcd_au1xxx_drv_probe(struct device *dev) 228 + static int ohci_hcd_au1xxx_drv_probe(struct platform_device *pdev) 229 229 { 230 - struct platform_device *pdev = to_platform_device(dev); 231 230 int ret; 232 231 233 232 pr_debug ("In ohci_hcd_au1xxx_drv_probe"); ··· 238 239 return ret; 239 240 } 240 241 241 - static int ohci_hcd_au1xxx_drv_remove(struct device *dev) 242 + static int ohci_hcd_au1xxx_drv_remove(struct platform_device *pdev) 242 243 { 243 - struct platform_device *pdev = to_platform_device(dev); 244 - struct usb_hcd *hcd = dev_get_drvdata(dev); 244 + struct usb_hcd *hcd = platform_get_drvdata(pdev); 245 245 246 246 usb_hcd_au1xxx_remove(hcd, pdev); 247 247 return 0; 248 248 } 249 249 /*TBD*/ 250 - /*static int ohci_hcd_au1xxx_drv_suspend(struct device *dev) 250 + /*static int ohci_hcd_au1xxx_drv_suspend(struct platform_device *dev) 251 251 { 252 - struct platform_device *pdev = to_platform_device(dev); 253 - struct usb_hcd *hcd = dev_get_drvdata(dev); 252 + struct usb_hcd *hcd = platform_get_drvdata(dev); 254 253 255 254 return 0; 256 255 } 257 - static int ohci_hcd_au1xxx_drv_resume(struct device *dev) 256 + static int ohci_hcd_au1xxx_drv_resume(struct platform_device *dev) 258 257 { 259 - struct platform_device *pdev = to_platform_device(dev); 260 - struct usb_hcd *hcd = dev_get_drvdata(dev); 258 + struct usb_hcd *hcd = platform_get_drvdata(dev); 261 259 262 260 return 0; 263 261 } 264 262 */ 265 263 266 - static struct device_driver ohci_hcd_au1xxx_driver = { 267 - .name = "au1xxx-ohci", 268 - .owner = THIS_MODULE, 269 - .bus = &platform_bus_type, 264 + static struct platform_driver ohci_hcd_au1xxx_driver = { 270 265 .probe = ohci_hcd_au1xxx_drv_probe, 271 266 .remove = ohci_hcd_au1xxx_drv_remove, 272 267 /*.suspend = ohci_hcd_au1xxx_drv_suspend, */ 273 268 /*.resume = ohci_hcd_au1xxx_drv_resume, */ 269 + .driver = { 270 + .name = "au1xxx-ohci", 271 + .owner = THIS_MODULE, 272 + }, 274 273 }; 275 274 276 275 static int __init ohci_hcd_au1xxx_init (void) ··· 277 280 pr_debug ("block sizes: ed %d td %d\n", 278 281 sizeof (struct ed), sizeof (struct td)); 279 282 280 - return driver_register(&ohci_hcd_au1xxx_driver); 283 + return platform_driver_register(&ohci_hcd_au1xxx_driver); 281 284 } 282 285 283 286 static void __exit ohci_hcd_au1xxx_cleanup (void) 284 287 { 285 - driver_unregister(&ohci_hcd_au1xxx_driver); 288 + platform_driver_unregister(&ohci_hcd_au1xxx_driver); 286 289 } 287 290 288 291 module_init (ohci_hcd_au1xxx_init);
+14 -17
drivers/usb/host/ohci-lh7a404.c
··· 204 204 205 205 /*-------------------------------------------------------------------------*/ 206 206 207 - static int ohci_hcd_lh7a404_drv_probe(struct device *dev) 207 + static int ohci_hcd_lh7a404_drv_probe(struct platform_device *pdev) 208 208 { 209 - struct platform_device *pdev = to_platform_device(dev); 210 209 int ret; 211 210 212 211 pr_debug ("In ohci_hcd_lh7a404_drv_probe"); ··· 217 218 return ret; 218 219 } 219 220 220 - static int ohci_hcd_lh7a404_drv_remove(struct device *dev) 221 + static int ohci_hcd_lh7a404_drv_remove(struct platform_device *pdev) 221 222 { 222 - struct platform_device *pdev = to_platform_device(dev); 223 - struct usb_hcd *hcd = dev_get_drvdata(dev); 223 + struct usb_hcd *hcd = platform_get_drvdata(dev); 224 224 225 225 usb_hcd_lh7a404_remove(hcd, pdev); 226 226 return 0; 227 227 } 228 228 /*TBD*/ 229 - /*static int ohci_hcd_lh7a404_drv_suspend(struct device *dev) 229 + /*static int ohci_hcd_lh7a404_drv_suspend(struct platform_device *dev) 230 230 { 231 - struct platform_device *pdev = to_platform_device(dev); 232 - struct usb_hcd *hcd = dev_get_drvdata(dev); 231 + struct usb_hcd *hcd = platform_get_drvdata(dev); 233 232 234 233 return 0; 235 234 } 236 - static int ohci_hcd_lh7a404_drv_resume(struct device *dev) 235 + static int ohci_hcd_lh7a404_drv_resume(struct platform_device *dev) 237 236 { 238 - struct platform_device *pdev = to_platform_device(dev); 239 - struct usb_hcd *hcd = dev_get_drvdata(dev); 237 + struct usb_hcd *hcd = platform_get_drvdata(dev); 240 238 241 239 242 240 return 0; 243 241 } 244 242 */ 245 243 246 - static struct device_driver ohci_hcd_lh7a404_driver = { 247 - .name = "lh7a404-ohci", 248 - .owner = THIS_MODULE, 249 - .bus = &platform_bus_type, 244 + static struct platform_driver ohci_hcd_lh7a404_driver = { 250 245 .probe = ohci_hcd_lh7a404_drv_probe, 251 246 .remove = ohci_hcd_lh7a404_drv_remove, 252 247 /*.suspend = ohci_hcd_lh7a404_drv_suspend, */ 253 248 /*.resume = ohci_hcd_lh7a404_drv_resume, */ 249 + .driver = { 250 + .name = "lh7a404-ohci", 251 + .owner = THIS_MODULE, 252 + }, 254 253 }; 255 254 256 255 static int __init ohci_hcd_lh7a404_init (void) ··· 257 260 pr_debug ("block sizes: ed %d td %d\n", 258 261 sizeof (struct ed), sizeof (struct td)); 259 262 260 - return driver_register(&ohci_hcd_lh7a404_driver); 263 + return platform_driver_register(&ohci_hcd_lh7a404_driver); 261 264 } 262 265 263 266 static void __exit ohci_hcd_lh7a404_cleanup (void) 264 267 { 265 - driver_unregister(&ohci_hcd_lh7a404_driver); 268 + platform_driver_unregister(&ohci_hcd_lh7a404_driver); 266 269 } 267 270 268 271 module_init (ohci_hcd_lh7a404_init);
+17 -18
drivers/usb/host/ohci-omap.c
··· 433 433 434 434 /*-------------------------------------------------------------------------*/ 435 435 436 - static int ohci_hcd_omap_drv_probe(struct device *dev) 436 + static int ohci_hcd_omap_drv_probe(struct platform_device *dev) 437 437 { 438 - return usb_hcd_omap_probe(&ohci_omap_hc_driver, 439 - to_platform_device(dev)); 438 + return usb_hcd_omap_probe(&ohci_omap_hc_driver, dev); 440 439 } 441 440 442 - static int ohci_hcd_omap_drv_remove(struct device *dev) 441 + static int ohci_hcd_omap_drv_remove(struct platform_device *dev) 443 442 { 444 - struct platform_device *pdev = to_platform_device(dev); 445 - struct usb_hcd *hcd = dev_get_drvdata(dev); 443 + struct usb_hcd *hcd = platform_get_drvdata(dev); 446 444 struct ohci_hcd *ohci = hcd_to_ohci (hcd); 447 445 448 - usb_hcd_omap_remove(hcd, pdev); 446 + usb_hcd_omap_remove(hcd, dev); 449 447 if (ohci->transceiver) { 450 448 (void) otg_set_host(ohci->transceiver, 0); 451 449 put_device(ohci->transceiver->dev); 452 450 } 453 - dev_set_drvdata(dev, NULL); 451 + platform_set_drvdata(dev, NULL); 454 452 455 453 return 0; 456 454 } ··· 457 459 458 460 #ifdef CONFIG_PM 459 461 460 - static int ohci_omap_suspend(struct device *dev, pm_message_t message) 462 + static int ohci_omap_suspend(struct platform_device *dev, pm_message_t message) 461 463 { 462 - struct ohci_hcd *ohci = hcd_to_ohci(dev_get_drvdata(dev)); 464 + struct ohci_hcd *ohci = hcd_to_ohci(platform_get_drvdata(dev)); 463 465 464 466 if (time_before(jiffies, ohci->next_statechange)) 465 467 msleep(5); ··· 471 473 return 0; 472 474 } 473 475 474 - static int ohci_omap_resume(struct device *dev) 476 + static int ohci_omap_resume(struct platform_device *dev) 475 477 { 476 - struct ohci_hcd *ohci = hcd_to_ohci(dev_get_drvdata(dev)); 478 + struct ohci_hcd *ohci = hcd_to_ohci(platform_get_drvdata(dev)); 477 479 478 480 if (time_before(jiffies, ohci->next_statechange)) 479 481 msleep(5); ··· 492 494 /* 493 495 * Driver definition to register with the OMAP bus 494 496 */ 495 - static struct device_driver ohci_hcd_omap_driver = { 496 - .name = "ohci", 497 - .owner = THIS_MODULE, 498 - .bus = &platform_bus_type, 497 + static struct platform_driver ohci_hcd_omap_driver = { 499 498 .probe = ohci_hcd_omap_drv_probe, 500 499 .remove = ohci_hcd_omap_drv_remove, 501 500 #ifdef CONFIG_PM 502 501 .suspend = ohci_omap_suspend, 503 502 .resume = ohci_omap_resume, 504 503 #endif 504 + .driver = { 505 + .owner = THIS_MODULE, 506 + .name = "ohci", 507 + }, 505 508 }; 506 509 507 510 static int __init ohci_hcd_omap_init (void) ··· 514 515 pr_debug("%s: block sizes: ed %Zd td %Zd\n", hcd_name, 515 516 sizeof (struct ed), sizeof (struct td)); 516 517 517 - return driver_register(&ohci_hcd_omap_driver); 518 + return platform_driver_register(&ohci_hcd_omap_driver); 518 519 } 519 520 520 521 static void __exit ohci_hcd_omap_cleanup (void) 521 522 { 522 - driver_unregister(&ohci_hcd_omap_driver); 523 + platform_driver_unregister(&ohci_hcd_omap_driver); 523 524 } 524 525 525 526 module_init (ohci_hcd_omap_init);
+10 -11
drivers/usb/host/ohci-ppc-soc.c
··· 172 172 .start_port_reset = ohci_start_port_reset, 173 173 }; 174 174 175 - static int ohci_hcd_ppc_soc_drv_probe(struct device *dev) 175 + static int ohci_hcd_ppc_soc_drv_probe(struct platform_device *pdev) 176 176 { 177 - struct platform_device *pdev = to_platform_device(dev); 178 177 int ret; 179 178 180 179 if (usb_disabled()) ··· 183 184 return ret; 184 185 } 185 186 186 - static int ohci_hcd_ppc_soc_drv_remove(struct device *dev) 187 + static int ohci_hcd_ppc_soc_drv_remove(struct platform_device *pdev) 187 188 { 188 - struct platform_device *pdev = to_platform_device(dev); 189 - struct usb_hcd *hcd = dev_get_drvdata(dev); 189 + struct usb_hcd *hcd = platform_get_drvdata(dev); 190 190 191 191 usb_hcd_ppc_soc_remove(hcd, pdev); 192 192 return 0; 193 193 } 194 194 195 - static struct device_driver ohci_hcd_ppc_soc_driver = { 196 - .name = "ppc-soc-ohci", 197 - .owner = THIS_MODULE, 198 - .bus = &platform_bus_type, 195 + static struct platform_driver ohci_hcd_ppc_soc_driver = { 199 196 .probe = ohci_hcd_ppc_soc_drv_probe, 200 197 .remove = ohci_hcd_ppc_soc_drv_remove, 201 198 #ifdef CONFIG_PM 202 199 /*.suspend = ohci_hcd_ppc_soc_drv_suspend,*/ 203 200 /*.resume = ohci_hcd_ppc_soc_drv_resume,*/ 204 201 #endif 202 + .driver = { 203 + .name = "ppc-soc-ohci", 204 + .owner = THIS_MODULE, 205 + }, 205 206 }; 206 207 207 208 static int __init ohci_hcd_ppc_soc_init(void) ··· 210 211 pr_debug("block sizes: ed %d td %d\n", sizeof(struct ed), 211 212 sizeof(struct td)); 212 213 213 - return driver_register(&ohci_hcd_ppc_soc_driver); 214 + return platform_driver_register(&ohci_hcd_ppc_soc_driver); 214 215 } 215 216 216 217 static void __exit ohci_hcd_ppc_soc_cleanup(void) 217 218 { 218 - driver_unregister(&ohci_hcd_ppc_soc_driver); 219 + platform_driver_unregister(&ohci_hcd_ppc_soc_driver); 219 220 } 220 221 221 222 module_init(ohci_hcd_ppc_soc_init);
+14 -17
drivers/usb/host/ohci-pxa27x.c
··· 290 290 291 291 /*-------------------------------------------------------------------------*/ 292 292 293 - static int ohci_hcd_pxa27x_drv_probe(struct device *dev) 293 + static int ohci_hcd_pxa27x_drv_probe(struct platform_device *pdev) 294 294 { 295 - struct platform_device *pdev = to_platform_device(dev); 296 295 int ret; 297 296 298 297 pr_debug ("In ohci_hcd_pxa27x_drv_probe"); ··· 303 304 return ret; 304 305 } 305 306 306 - static int ohci_hcd_pxa27x_drv_remove(struct device *dev) 307 + static int ohci_hcd_pxa27x_drv_remove(struct platform_device *pdev) 307 308 { 308 - struct platform_device *pdev = to_platform_device(dev); 309 - struct usb_hcd *hcd = dev_get_drvdata(dev); 309 + struct usb_hcd *hcd = platform_get_drvdata(pdev); 310 310 311 311 usb_hcd_pxa27x_remove(hcd, pdev); 312 312 return 0; 313 313 } 314 314 315 - static int ohci_hcd_pxa27x_drv_suspend(struct device *dev, pm_message_t state) 315 + static int ohci_hcd_pxa27x_drv_suspend(struct platform_device *dev, pm_message_t state) 316 316 { 317 - // struct platform_device *pdev = to_platform_device(dev); 318 - // struct usb_hcd *hcd = dev_get_drvdata(dev); 317 + // struct usb_hcd *hcd = platform_get_drvdata(dev); 319 318 printk("%s: not implemented yet\n", __FUNCTION__); 320 319 321 320 return 0; 322 321 } 323 322 324 - static int ohci_hcd_pxa27x_drv_resume(struct device *dev) 323 + static int ohci_hcd_pxa27x_drv_resume(struct platform_device *dev) 325 324 { 326 - // struct platform_device *pdev = to_platform_device(dev); 327 - // struct usb_hcd *hcd = dev_get_drvdata(dev); 325 + // struct usb_hcd *hcd = platform_get_drvdata(dev); 328 326 printk("%s: not implemented yet\n", __FUNCTION__); 329 327 330 328 return 0; 331 329 } 332 330 333 331 334 - static struct device_driver ohci_hcd_pxa27x_driver = { 335 - .name = "pxa27x-ohci", 336 - .bus = &platform_bus_type, 332 + static struct platform_driver ohci_hcd_pxa27x_driver = { 337 333 .probe = ohci_hcd_pxa27x_drv_probe, 338 334 .remove = ohci_hcd_pxa27x_drv_remove, 339 335 .suspend = ohci_hcd_pxa27x_drv_suspend, 340 - .resume = ohci_hcd_pxa27x_drv_resume, 336 + .resume = ohci_hcd_pxa27x_drv_resume, 337 + .driver = { 338 + .name = "pxa27x-ohci", 339 + }, 341 340 }; 342 341 343 342 static int __init ohci_hcd_pxa27x_init (void) ··· 344 347 pr_debug ("block sizes: ed %d td %d\n", 345 348 sizeof (struct ed), sizeof (struct td)); 346 349 347 - return driver_register(&ohci_hcd_pxa27x_driver); 350 + return platform_driver_register(&ohci_hcd_pxa27x_driver); 348 351 } 349 352 350 353 static void __exit ohci_hcd_pxa27x_cleanup (void) 351 354 { 352 - driver_unregister(&ohci_hcd_pxa27x_driver); 355 + platform_driver_unregister(&ohci_hcd_pxa27x_driver); 353 356 } 354 357 355 358 module_init (ohci_hcd_pxa27x_init);
+10 -11
drivers/usb/host/ohci-s3c2410.c
··· 459 459 460 460 /* device driver */ 461 461 462 - static int ohci_hcd_s3c2410_drv_probe(struct device *dev) 462 + static int ohci_hcd_s3c2410_drv_probe(struct platform_device *pdev) 463 463 { 464 - struct platform_device *pdev = to_platform_device(dev); 465 464 return usb_hcd_s3c2410_probe(&ohci_s3c2410_hc_driver, pdev); 466 465 } 467 466 468 - static int ohci_hcd_s3c2410_drv_remove(struct device *dev) 467 + static int ohci_hcd_s3c2410_drv_remove(struct platform_device *pdev) 469 468 { 470 - struct platform_device *pdev = to_platform_device(dev); 471 - struct usb_hcd *hcd = dev_get_drvdata(dev); 469 + struct usb_hcd *hcd = platform_get_drvdata(pdev); 472 470 473 471 usb_hcd_s3c2410_remove(hcd, pdev); 474 472 return 0; 475 473 } 476 474 477 - static struct device_driver ohci_hcd_s3c2410_driver = { 478 - .name = "s3c2410-ohci", 479 - .owner = THIS_MODULE, 480 - .bus = &platform_bus_type, 475 + static struct platform_driver ohci_hcd_s3c2410_driver = { 481 476 .probe = ohci_hcd_s3c2410_drv_probe, 482 477 .remove = ohci_hcd_s3c2410_drv_remove, 483 478 /*.suspend = ohci_hcd_s3c2410_drv_suspend, */ 484 479 /*.resume = ohci_hcd_s3c2410_drv_resume, */ 480 + .driver = { 481 + .owner = THIS_MODULE, 482 + .name = "s3c2410-ohci", 483 + }, 485 484 }; 486 485 487 486 static int __init ohci_hcd_s3c2410_init (void) 488 487 { 489 - return driver_register(&ohci_hcd_s3c2410_driver); 488 + return platform_driver_register(&ohci_hcd_s3c2410_driver); 490 489 } 491 490 492 491 static void __exit ohci_hcd_s3c2410_cleanup (void) 493 492 { 494 - driver_unregister(&ohci_hcd_s3c2410_driver); 493 + platform_driver_unregister(&ohci_hcd_s3c2410_driver); 495 494 } 496 495 497 496 module_init (ohci_hcd_s3c2410_init);
+28 -33
drivers/usb/host/sl811-hcd.c
··· 1631 1631 /*-------------------------------------------------------------------------*/ 1632 1632 1633 1633 static int __devexit 1634 - sl811h_remove(struct device *dev) 1634 + sl811h_remove(struct platform_device *dev) 1635 1635 { 1636 - struct usb_hcd *hcd = dev_get_drvdata(dev); 1636 + struct usb_hcd *hcd = platform_get_drvdata(dev); 1637 1637 struct sl811 *sl811 = hcd_to_sl811(hcd); 1638 - struct platform_device *pdev; 1639 1638 struct resource *res; 1640 - 1641 - pdev = container_of(dev, struct platform_device, dev); 1642 1639 1643 1640 remove_debug_file(sl811); 1644 1641 usb_remove_hcd(hcd); 1645 1642 1646 1643 /* some platforms may use IORESOURCE_IO */ 1647 - res = platform_get_resource(pdev, IORESOURCE_MEM, 1); 1644 + res = platform_get_resource(dev, IORESOURCE_MEM, 1); 1648 1645 if (res) 1649 1646 iounmap(sl811->data_reg); 1650 1647 1651 - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 1648 + res = platform_get_resource(dev, IORESOURCE_MEM, 0); 1652 1649 if (res) 1653 1650 iounmap(sl811->addr_reg); 1654 1651 ··· 1654 1657 } 1655 1658 1656 1659 static int __devinit 1657 - sl811h_probe(struct device *dev) 1660 + sl811h_probe(struct platform_device *dev) 1658 1661 { 1659 1662 struct usb_hcd *hcd; 1660 1663 struct sl811 *sl811; 1661 - struct platform_device *pdev; 1662 1664 struct resource *addr, *data; 1663 1665 int irq; 1664 1666 void __iomem *addr_reg; ··· 1670 1674 * specific platform_data. we don't probe for IRQs, and do only 1671 1675 * minimal sanity checking. 1672 1676 */ 1673 - pdev = container_of(dev, struct platform_device, dev); 1674 - irq = platform_get_irq(pdev, 0); 1675 - if (pdev->num_resources < 3 || irq < 0) 1677 + irq = platform_get_irq(dev, 0); 1678 + if (dev->num_resources < 3 || irq < 0) 1676 1679 return -ENODEV; 1677 1680 1678 1681 /* refuse to confuse usbcore */ 1679 - if (dev->dma_mask) { 1682 + if (dev->dev.dma_mask) { 1680 1683 DBG("no we won't dma\n"); 1681 1684 return -EINVAL; 1682 1685 } 1683 1686 1684 1687 /* the chip may be wired for either kind of addressing */ 1685 - addr = platform_get_resource(pdev, IORESOURCE_MEM, 0); 1686 - data = platform_get_resource(pdev, IORESOURCE_MEM, 1); 1688 + addr = platform_get_resource(dev, IORESOURCE_MEM, 0); 1689 + data = platform_get_resource(dev, IORESOURCE_MEM, 1); 1687 1690 retval = -EBUSY; 1688 1691 if (!addr || !data) { 1689 - addr = platform_get_resource(pdev, IORESOURCE_IO, 0); 1690 - data = platform_get_resource(pdev, IORESOURCE_IO, 1); 1692 + addr = platform_get_resource(dev, IORESOURCE_IO, 0); 1693 + data = platform_get_resource(dev, IORESOURCE_IO, 1); 1691 1694 if (!addr || !data) 1692 1695 return -ENODEV; 1693 1696 ioaddr = 1; ··· 1708 1713 } 1709 1714 1710 1715 /* allocate and initialize hcd */ 1711 - hcd = usb_create_hcd(&sl811h_hc_driver, dev, dev->bus_id); 1716 + hcd = usb_create_hcd(&sl811h_hc_driver, &dev->dev, dev->dev.bus_id); 1712 1717 if (!hcd) { 1713 1718 retval = -ENOMEM; 1714 1719 goto err5; ··· 1718 1723 1719 1724 spin_lock_init(&sl811->lock); 1720 1725 INIT_LIST_HEAD(&sl811->async); 1721 - sl811->board = dev->platform_data; 1726 + sl811->board = dev->dev.platform_data; 1722 1727 init_timer(&sl811->timer); 1723 1728 sl811->timer.function = sl811h_timer; 1724 1729 sl811->timer.data = (unsigned long) sl811; ··· 1780 1785 */ 1781 1786 1782 1787 static int 1783 - sl811h_suspend(struct device *dev, pm_message_t state) 1788 + sl811h_suspend(struct platform_device *dev, pm_message_t state) 1784 1789 { 1785 - struct usb_hcd *hcd = dev_get_drvdata(dev); 1790 + struct usb_hcd *hcd = platform_get_drvdata(dev); 1786 1791 struct sl811 *sl811 = hcd_to_sl811(hcd); 1787 1792 int retval = 0; 1788 1793 ··· 1791 1796 else if (state.event == PM_EVENT_SUSPEND) 1792 1797 port_power(sl811, 0); 1793 1798 if (retval == 0) 1794 - dev->power.power_state = state; 1799 + dev->dev.power.power_state = state; 1795 1800 return retval; 1796 1801 } 1797 1802 1798 1803 static int 1799 - sl811h_resume(struct device *dev) 1804 + sl811h_resume(struct platform_device *dev) 1800 1805 { 1801 - struct usb_hcd *hcd = dev_get_drvdata(dev); 1806 + struct usb_hcd *hcd = platform_get_drvdata(dev); 1802 1807 struct sl811 *sl811 = hcd_to_sl811(hcd); 1803 1808 1804 1809 /* with no "check to see if VBUS is still powered" board hook, 1805 1810 * let's assume it'd only be powered to enable remote wakeup. 1806 1811 */ 1807 - if (dev->power.power_state.event == PM_EVENT_SUSPEND 1812 + if (dev->dev.power.power_state.event == PM_EVENT_SUSPEND 1808 1813 || !hcd->can_wakeup) { 1809 1814 sl811->port1 = 0; 1810 1815 port_power(sl811, 1); 1811 1816 return 0; 1812 1817 } 1813 1818 1814 - dev->power.power_state = PMSG_ON; 1819 + dev->dev.power.power_state = PMSG_ON; 1815 1820 return sl811h_bus_resume(hcd); 1816 1821 } 1817 1822 ··· 1824 1829 1825 1830 1826 1831 /* this driver is exported so sl811_cs can depend on it */ 1827 - struct device_driver sl811h_driver = { 1828 - .name = (char *) hcd_name, 1829 - .bus = &platform_bus_type, 1830 - .owner = THIS_MODULE, 1831 - 1832 + struct platform_driver sl811h_driver = { 1832 1833 .probe = sl811h_probe, 1833 1834 .remove = __devexit_p(sl811h_remove), 1834 1835 1835 1836 .suspend = sl811h_suspend, 1836 1837 .resume = sl811h_resume, 1838 + .driver = { 1839 + .name = (char *) hcd_name, 1840 + .owner = THIS_MODULE, 1841 + }, 1837 1842 }; 1838 1843 EXPORT_SYMBOL(sl811h_driver); 1839 1844 ··· 1845 1850 return -ENODEV; 1846 1851 1847 1852 INFO("driver %s, %s\n", hcd_name, DRIVER_VERSION); 1848 - return driver_register(&sl811h_driver); 1853 + return platform_driver_register(&sl811h_driver); 1849 1854 } 1850 1855 module_init(sl811h_init); 1851 1856 1852 1857 static void __exit sl811h_cleanup(void) 1853 1858 { 1854 - driver_unregister(&sl811h_driver); 1859 + platform_driver_unregister(&sl811h_driver); 1855 1860 } 1856 1861 module_exit(sl811h_cleanup);
+7 -6
drivers/video/acornfb.c
··· 1279 1279 printk("acornfb: freed %dK memory\n", mb_freed); 1280 1280 } 1281 1281 1282 - static int __init acornfb_probe(struct device *dev) 1282 + static int __init acornfb_probe(struct platform_device *dev) 1283 1283 { 1284 1284 unsigned long size; 1285 1285 u_int h_sync, v_sync; ··· 1292 1292 1293 1293 acornfb_init_fbinfo(); 1294 1294 1295 - current_par.dev = dev; 1295 + current_par.dev = &dev->dev; 1296 1296 1297 1297 if (current_par.montype == -1) 1298 1298 current_par.montype = acornfb_detect_monitortype(); ··· 1453 1453 return 0; 1454 1454 } 1455 1455 1456 - static struct device_driver acornfb_driver = { 1457 - .name = "acornfb", 1458 - .bus = &platform_bus_type, 1456 + static struct platform_driver acornfb_driver = { 1459 1457 .probe = acornfb_probe, 1458 + .driver = { 1459 + .name = "acornfb", 1460 + }, 1460 1461 }; 1461 1462 1462 1463 static int __init acornfb_init(void) 1463 1464 { 1464 - return driver_register(&acornfb_driver); 1465 + return platform_driver_register(&acornfb_driver); 1465 1466 } 1466 1467 1467 1468 module_init(acornfb_init);
+11 -11
drivers/video/arcfb.c
··· 514 514 .fb_ioctl = arcfb_ioctl, 515 515 }; 516 516 517 - static int __init arcfb_probe(struct device *device) 517 + static int __init arcfb_probe(struct platform_device *dev) 518 518 { 519 - struct platform_device *dev = to_platform_device(device); 520 519 struct fb_info *info; 521 520 int retval = -ENOMEM; 522 521 int videomemorysize; ··· 558 559 retval = register_framebuffer(info); 559 560 if (retval < 0) 560 561 goto err1; 561 - dev_set_drvdata(&dev->dev, info); 562 + platform_set_drvdata(dev, info); 562 563 if (irq) { 563 564 par->irq = irq; 564 565 if (request_irq(par->irq, &arcfb_interrupt, SA_SHIRQ, ··· 599 600 return retval; 600 601 } 601 602 602 - static int arcfb_remove(struct device *device) 603 + static int arcfb_remove(struct platform_device *dev) 603 604 { 604 - struct fb_info *info = dev_get_drvdata(device); 605 + struct fb_info *info = platform_get_drvdata(dev); 605 606 606 607 if (info) { 607 608 unregister_framebuffer(info); ··· 611 612 return 0; 612 613 } 613 614 614 - static struct device_driver arcfb_driver = { 615 - .name = "arcfb", 616 - .bus = &platform_bus_type, 615 + static struct platform_driver arcfb_driver = { 617 616 .probe = arcfb_probe, 618 617 .remove = arcfb_remove, 618 + .driver = { 619 + .name = "arcfb", 620 + }, 619 621 }; 620 622 621 623 static struct platform_device *arcfb_device; ··· 628 628 if (!arcfb_enable) 629 629 return -ENXIO; 630 630 631 - ret = driver_register(&arcfb_driver); 631 + ret = platform_driver_register(&arcfb_driver); 632 632 if (!ret) { 633 633 arcfb_device = platform_device_alloc("arcfb", 0); 634 634 if (arcfb_device) { ··· 638 638 } 639 639 if (ret) { 640 640 platform_device_put(arcfb_device); 641 - driver_unregister(&arcfb_driver); 641 + platform_driver_unregister(&arcfb_driver); 642 642 } 643 643 } 644 644 return ret; ··· 648 648 static void __exit arcfb_exit(void) 649 649 { 650 650 platform_device_unregister(arcfb_device); 651 - driver_unregister(&arcfb_driver); 651 + platform_driver_unregister(&arcfb_driver); 652 652 } 653 653 654 654 module_param(num_cols, ulong, 0);
+11 -10
drivers/video/backlight/corgi_bl.c
··· 73 73 } 74 74 75 75 #ifdef CONFIG_PM 76 - static int corgibl_suspend(struct device *dev, pm_message_t state) 76 + static int corgibl_suspend(struct platform_device *dev, pm_message_t state) 77 77 { 78 78 corgibl_blank(FB_BLANK_POWERDOWN); 79 79 return 0; 80 80 } 81 81 82 - static int corgibl_resume(struct device *dev) 82 + static int corgibl_resume(struct platform_device *dev) 83 83 { 84 84 corgibl_blank(FB_BLANK_UNBLANK); 85 85 return 0; ··· 137 137 138 138 static struct backlight_device *corgi_backlight_device; 139 139 140 - static int __init corgibl_probe(struct device *dev) 140 + static int __init corgibl_probe(struct platform_device *pdev) 141 141 { 142 - struct corgibl_machinfo *machinfo = dev->platform_data; 142 + struct corgibl_machinfo *machinfo = pdev->dev.platform_data; 143 143 144 144 corgibl_data.max_brightness = machinfo->max_intensity; 145 145 corgibl_mach_set_intensity = machinfo->set_bl_intensity; ··· 156 156 return 0; 157 157 } 158 158 159 - static int corgibl_remove(struct device *dev) 159 + static int corgibl_remove(struct platform_device *dev) 160 160 { 161 161 backlight_device_unregister(corgi_backlight_device); 162 162 ··· 166 166 return 0; 167 167 } 168 168 169 - static struct device_driver corgibl_driver = { 170 - .name = "corgi-bl", 171 - .bus = &platform_bus_type, 169 + static struct platform_driver corgibl_driver = { 172 170 .probe = corgibl_probe, 173 171 .remove = corgibl_remove, 174 172 .suspend = corgibl_suspend, 175 173 .resume = corgibl_resume, 174 + .driver = { 175 + .name = "corgi-bl", 176 + }, 176 177 }; 177 178 178 179 static int __init corgibl_init(void) 179 180 { 180 - return driver_register(&corgibl_driver); 181 + return platform_driver_register(&corgibl_driver); 181 182 } 182 183 183 184 static void __exit corgibl_exit(void) 184 185 { 185 - driver_unregister(&corgibl_driver); 186 + platform_driver_unregister(&corgibl_driver); 186 187 } 187 188 188 189 module_init(corgibl_init);
+8 -8
drivers/video/dnfb.c
··· 227 227 * Initialization 228 228 */ 229 229 230 - static int __devinit dnfb_probe(struct device *device) 230 + static int __devinit dnfb_probe(struct platform_device *dev) 231 231 { 232 - struct platform_device *dev = to_platform_device(device); 233 232 struct fb_info *info; 234 233 int err = 0; 235 234 ··· 256 257 framebuffer_release(info); 257 258 return err; 258 259 } 259 - dev_set_drvdata(&dev->dev, info); 260 + platform_set_drvdata(dev, info); 260 261 261 262 /* now we have registered we can safely setup the hardware */ 262 263 out_8(AP_CONTROL_3A, RESET_CREG); ··· 270 271 return err; 271 272 } 272 273 273 - static struct device_driver dnfb_driver = { 274 - .name = "dnfb", 275 - .bus = &platform_bus_type, 274 + static struct platform_driver dnfb_driver = { 276 275 .probe = dnfb_probe, 276 + .driver = { 277 + .name = "dnfb", 278 + }, 277 279 }; 278 280 279 281 static struct platform_device dnfb_device = { ··· 288 288 if (fb_get_options("dnfb", NULL)) 289 289 return -ENODEV; 290 290 291 - ret = driver_register(&dnfb_driver); 291 + ret = platform_driver_register(&dnfb_driver); 292 292 293 293 if (!ret) { 294 294 ret = platform_device_register(&dnfb_device); 295 295 if (ret) 296 - driver_unregister(&dnfb_driver); 296 + platform_driver_unregister(&dnfb_driver); 297 297 } 298 298 return ret; 299 299 }
+12 -12
drivers/video/epson1355fb.c
··· 609 609 { 610 610 } 611 611 612 - static int epson1355fb_remove(struct device *device) 612 + static int epson1355fb_remove(struct platform_device *dev) 613 613 { 614 - struct fb_info *info = dev_get_drvdata(device); 614 + struct fb_info *info = platform_get_drvdata(dev); 615 615 struct epson1355_par *par = info->par; 616 616 617 617 backlight_enable(0); ··· 632 632 return 0; 633 633 } 634 634 635 - int __init epson1355fb_probe(struct device *device) 635 + int __init epson1355fb_probe(struct platform_device *dev) 636 636 { 637 - struct platform_device *dev = to_platform_device(device); 638 637 struct epson1355_par *default_par; 639 638 struct fb_info *info; 640 639 u8 revision; ··· 712 713 /* 713 714 * Our driver data. 714 715 */ 715 - dev_set_drvdata(&dev->dev, info); 716 + platform_set_drvdata(dev, info); 716 717 717 718 printk(KERN_INFO "fb%d: %s frame buffer device\n", 718 719 info->node, info->fix.id); ··· 720 721 return 0; 721 722 722 723 bail: 723 - epson1355fb_remove(device); 724 + epson1355fb_remove(dev); 724 725 return rc; 725 726 } 726 727 727 - static struct device_driver epson1355fb_driver = { 728 - .name = "epson1355fb", 729 - .bus = &platform_bus_type, 728 + static struct platform_driver epson1355fb_driver = { 730 729 .probe = epson1355fb_probe, 731 730 .remove = epson1355fb_remove, 731 + .driver = { 732 + .name = "epson1355fb", 733 + }, 732 734 }; 733 735 734 736 static struct platform_device epson1355fb_device = { ··· 747 747 if (fb_get_options("epson1355fb", NULL)) 748 748 return -ENODEV; 749 749 750 - ret = driver_register(&epson1355fb_driver); 750 + ret = platform_driver_register(&epson1355fb_driver); 751 751 if (!ret) { 752 752 ret = platform_device_register(&epson1355fb_device); 753 753 if (ret) 754 - driver_unregister(&epson1355fb_driver); 754 + platform_driver_unregister(&epson1355fb_driver); 755 755 } 756 756 return ret; 757 757 } ··· 762 762 static void __exit epson1355fb_exit(void) 763 763 { 764 764 platform_device_unregister(&epson1355fb_device); 765 - driver_unregister(&epson1355fb_driver); 765 + platform_driver_unregister(&epson1355fb_driver); 766 766 } 767 767 768 768 /* ------------------------------------------------------------------------- */
+12 -13
drivers/video/gbefb.c
··· 1105 1105 return 0; 1106 1106 } 1107 1107 1108 - static int __init gbefb_probe(struct device *dev) 1108 + static int __init gbefb_probe(struct platform_device *p_dev) 1109 1109 { 1110 1110 int i, ret = 0; 1111 1111 struct fb_info *info; 1112 1112 struct gbefb_par *par; 1113 - struct platform_device *p_dev = to_platform_device(dev); 1114 1113 #ifndef MODULE 1115 1114 char *options = NULL; 1116 1115 #endif ··· 1203 1204 goto out_gbe_unmap; 1204 1205 } 1205 1206 1206 - dev_set_drvdata(&p_dev->dev, info); 1207 - gbefb_create_sysfs(dev); 1207 + platform_set_drvdata(p_dev, info); 1208 + gbefb_create_sysfs(&p_dev->dev); 1208 1209 1209 1210 printk(KERN_INFO "fb%d: %s rev %d @ 0x%08x using %dkB memory\n", 1210 1211 info->node, info->fix.id, gbe_revision, (unsigned) GBE_BASE, ··· 1230 1231 return ret; 1231 1232 } 1232 1233 1233 - static int __devexit gbefb_remove(struct device* dev) 1234 + static int __devexit gbefb_remove(struct platform_device* p_dev) 1234 1235 { 1235 - struct platform_device *p_dev = to_platform_device(dev); 1236 - struct fb_info *info = dev_get_drvdata(&p_dev->dev); 1236 + struct fb_info *info = platform_get_drvdata(p_dev); 1237 1237 1238 1238 unregister_framebuffer(info); 1239 1239 gbe_turn_off(); ··· 1250 1252 return 0; 1251 1253 } 1252 1254 1253 - static struct device_driver gbefb_driver = { 1254 - .name = "gbefb", 1255 - .bus = &platform_bus_type, 1255 + static struct platform_driver gbefb_driver = { 1256 1256 .probe = gbefb_probe, 1257 1257 .remove = __devexit_p(gbefb_remove), 1258 + .driver = { 1259 + .name = "gbefb", 1260 + }, 1258 1261 }; 1259 1262 1260 1263 static struct platform_device *gbefb_device; 1261 1264 1262 1265 int __init gbefb_init(void) 1263 1266 { 1264 - int ret = driver_register(&gbefb_driver); 1267 + int ret = platform_driver_register(&gbefb_driver); 1265 1268 if (!ret) { 1266 1269 gbefb_device = platform_device_alloc("gbefb", 0); 1267 1270 if (gbefb_device) { ··· 1272 1273 } 1273 1274 if (ret) { 1274 1275 platform_device_put(gbefb_device); 1275 - driver_unregister(&gbefb_driver); 1276 + platform_driver_unregister(&gbefb_driver); 1276 1277 } 1277 1278 } 1278 1279 return ret; ··· 1281 1282 void __exit gbefb_exit(void) 1282 1283 { 1283 1284 platform_device_unregister(gbefb_device); 1284 - driver_unregister(&gbefb_driver); 1285 + platform_driver_unregister(&gbefb_driver); 1285 1286 } 1286 1287 1287 1288 module_init(gbefb_init);
+22 -23
drivers/video/imxfb.c
··· 423 423 * Power management hooks. Note that we won't be called from IRQ context, 424 424 * unlike the blank functions above, so we may sleep. 425 425 */ 426 - static int imxfb_suspend(struct device *dev, pm_message_t state) 426 + static int imxfb_suspend(struct platform_device *dev, pm_message_t state) 427 427 { 428 - struct imxfb_info *fbi = dev_get_drvdata(dev); 428 + struct imxfb_info *fbi = platform_get_drvdata(dev); 429 429 pr_debug("%s\n",__FUNCTION__); 430 430 431 431 imxfb_disable_controller(fbi); 432 432 return 0; 433 433 } 434 434 435 - static int imxfb_resume(struct device *dev) 435 + static int imxfb_resume(struct platform_device *dev) 436 436 { 437 - struct imxfb_info *fbi = dev_get_drvdata(dev); 437 + struct imxfb_info *fbi = platform_get_drvdata(dev); 438 438 pr_debug("%s\n",__FUNCTION__); 439 439 440 440 imxfb_enable_controller(fbi); ··· 538 538 return fbi->map_cpu ? 0 : -ENOMEM; 539 539 } 540 540 541 - static int __init imxfb_probe(struct device *dev) 541 + static int __init imxfb_probe(struct platform_device *pdev) 542 542 { 543 - struct platform_device *pdev = to_platform_device(dev); 544 543 struct imxfb_info *fbi; 545 544 struct fb_info *info; 546 545 struct imxfb_mach_info *inf; ··· 552 553 if(!res) 553 554 return -ENODEV; 554 555 555 - inf = dev->platform_data; 556 + inf = pdev->dev.platform_data; 556 557 if(!inf) { 557 558 dev_err(dev,"No platform_data available\n"); 558 559 return -ENOMEM; 559 560 } 560 561 561 - info = framebuffer_alloc(sizeof(struct imxfb_info), dev); 562 + info = framebuffer_alloc(sizeof(struct imxfb_info), &pdev->dev); 562 563 if(!info) 563 564 return -ENOMEM; 564 565 565 566 fbi = info->par; 566 567 567 - dev_set_drvdata(dev, info); 568 + platform_set_drvdata(pdev, info); 568 569 569 - ret = imxfb_init_fbinfo(dev); 570 + ret = imxfb_init_fbinfo(&pdev->dev); 570 571 if( ret < 0 ) 571 572 goto failed_init; 572 573 ··· 620 621 fb_dealloc_cmap(&info->cmap); 621 622 failed_cmap: 622 623 if (!inf->fixed_screen_cpu) 623 - dma_free_writecombine(dev,fbi->map_size,fbi->map_cpu, 624 + dma_free_writecombine(&pdev->dev,fbi->map_size,fbi->map_cpu, 624 625 fbi->map_dma); 625 626 failed_map: 626 627 kfree(info->pseudo_palette); 627 628 failed_regs: 628 629 release_mem_region(res->start, res->end - res->start); 629 630 failed_init: 630 - dev_set_drvdata(dev, NULL); 631 + platform_set_drvdata(pdev, NULL); 631 632 framebuffer_release(info); 632 633 return ret; 633 634 } 634 635 635 - static int imxfb_remove(struct device *dev) 636 + static int imxfb_remove(struct platform_device *pdev) 636 637 { 637 - struct platform_device *pdev = to_platform_device(dev); 638 - struct fb_info *info = dev_get_drvdata(dev); 638 + struct fb_info *info = platform_get_drvdata(pdev); 639 639 struct imxfb_info *fbi = info->par; 640 640 struct resource *res; 641 641 ··· 649 651 framebuffer_release(info); 650 652 651 653 release_mem_region(res->start, res->end - res->start + 1); 652 - dev_set_drvdata(dev, NULL); 654 + platform_set_drvdata(pdev, NULL); 653 655 654 656 return 0; 655 657 } 656 658 657 - void imxfb_shutdown(struct device * dev) 659 + void imxfb_shutdown(struct platform_device * dev) 658 660 { 659 - struct fb_info *info = dev_get_drvdata(dev); 661 + struct fb_info *info = platform_get_drvdata(dev); 660 662 struct imxfb_info *fbi = info->par; 661 663 imxfb_disable_controller(fbi); 662 664 } 663 665 664 - static struct device_driver imxfb_driver = { 665 - .name = "imx-fb", 666 - .bus = &platform_bus_type, 666 + static struct platform_driver imxfb_driver = { 667 667 .probe = imxfb_probe, 668 668 .suspend = imxfb_suspend, 669 669 .resume = imxfb_resume, 670 670 .remove = imxfb_remove, 671 671 .shutdown = imxfb_shutdown, 672 + .driver = { 673 + .name = "imx-fb", 674 + }, 672 675 }; 673 676 674 677 int __init imxfb_init(void) 675 678 { 676 - return driver_register(&imxfb_driver); 679 + return platform_driver_register(&imxfb_driver); 677 680 } 678 681 679 682 static void __exit imxfb_cleanup(void) 680 683 { 681 - driver_unregister(&imxfb_driver); 684 + platform_driver_unregister(&imxfb_driver); 682 685 } 683 686 684 687 module_init(imxfb_init);
+26 -25
drivers/video/pxafb.c
··· 980 980 * Power management hooks. Note that we won't be called from IRQ context, 981 981 * unlike the blank functions above, so we may sleep. 982 982 */ 983 - static int pxafb_suspend(struct device *dev, pm_message_t state) 983 + static int pxafb_suspend(struct platform_device *dev, pm_message_t state) 984 984 { 985 - struct pxafb_info *fbi = dev_get_drvdata(dev); 985 + struct pxafb_info *fbi = platform_get_drvdata(dev); 986 986 987 987 set_ctrlr_state(fbi, C_DISABLE_PM); 988 988 return 0; 989 989 } 990 990 991 - static int pxafb_resume(struct device *dev) 991 + static int pxafb_resume(struct platform_device *dev) 992 992 { 993 - struct pxafb_info *fbi = dev_get_drvdata(dev); 993 + struct pxafb_info *fbi = platform_get_drvdata(dev); 994 994 995 995 set_ctrlr_state(fbi, C_ENABLE_PM); 996 996 return 0; ··· 1268 1268 } 1269 1269 #endif 1270 1270 1271 - int __init pxafb_probe(struct device *dev) 1271 + int __init pxafb_probe(struct platform_device *dev) 1272 1272 { 1273 1273 struct pxafb_info *fbi; 1274 1274 struct pxafb_mach_info *inf; ··· 1276 1276 1277 1277 dev_dbg(dev, "pxafb_probe\n"); 1278 1278 1279 - inf = dev->platform_data; 1279 + inf = dev->dev.platform_data; 1280 1280 ret = -ENOMEM; 1281 1281 fbi = NULL; 1282 1282 if (!inf) 1283 1283 goto failed; 1284 1284 1285 1285 #ifdef CONFIG_FB_PXA_PARAMETERS 1286 - ret = pxafb_parse_options(dev, g_options); 1286 + ret = pxafb_parse_options(&dev->dev, g_options); 1287 1287 if (ret < 0) 1288 1288 goto failed; 1289 1289 #endif ··· 1293 1293 * a warning is given. */ 1294 1294 1295 1295 if (inf->lccr0 & LCCR0_INVALID_CONFIG_MASK) 1296 - dev_warn(dev, "machine LCCR0 setting contains illegal bits: %08x\n", 1296 + dev_warn(&dev->dev, "machine LCCR0 setting contains illegal bits: %08x\n", 1297 1297 inf->lccr0 & LCCR0_INVALID_CONFIG_MASK); 1298 1298 if (inf->lccr3 & LCCR3_INVALID_CONFIG_MASK) 1299 - dev_warn(dev, "machine LCCR3 setting contains illegal bits: %08x\n", 1299 + dev_warn(&dev->dev, "machine LCCR3 setting contains illegal bits: %08x\n", 1300 1300 inf->lccr3 & LCCR3_INVALID_CONFIG_MASK); 1301 1301 if (inf->lccr0 & LCCR0_DPD && 1302 1302 ((inf->lccr0 & LCCR0_PAS) != LCCR0_Pas || 1303 1303 (inf->lccr0 & LCCR0_SDS) != LCCR0_Sngl || 1304 1304 (inf->lccr0 & LCCR0_CMS) != LCCR0_Mono)) 1305 - dev_warn(dev, "Double Pixel Data (DPD) mode is only valid in passive mono" 1305 + dev_warn(&dev->dev, "Double Pixel Data (DPD) mode is only valid in passive mono" 1306 1306 " single panel mode\n"); 1307 1307 if ((inf->lccr0 & LCCR0_PAS) == LCCR0_Act && 1308 1308 (inf->lccr0 & LCCR0_SDS) == LCCR0_Dual) 1309 - dev_warn(dev, "Dual panel only valid in passive mode\n"); 1309 + dev_warn(&dev->dev, "Dual panel only valid in passive mode\n"); 1310 1310 if ((inf->lccr0 & LCCR0_PAS) == LCCR0_Pas && 1311 1311 (inf->upper_margin || inf->lower_margin)) 1312 - dev_warn(dev, "Upper and lower margins must be 0 in passive mode\n"); 1312 + dev_warn(&dev->dev, "Upper and lower margins must be 0 in passive mode\n"); 1313 1313 #endif 1314 1314 1315 - dev_dbg(dev, "got a %dx%dx%d LCD\n",inf->xres, inf->yres, inf->bpp); 1315 + dev_dbg(&dev->dev, "got a %dx%dx%d LCD\n",inf->xres, inf->yres, inf->bpp); 1316 1316 if (inf->xres == 0 || inf->yres == 0 || inf->bpp == 0) { 1317 - dev_err(dev, "Invalid resolution or bit depth\n"); 1317 + dev_err(&dev->dev, "Invalid resolution or bit depth\n"); 1318 1318 ret = -EINVAL; 1319 1319 goto failed; 1320 1320 } 1321 1321 pxafb_backlight_power = inf->pxafb_backlight_power; 1322 1322 pxafb_lcd_power = inf->pxafb_lcd_power; 1323 - fbi = pxafb_init_fbinfo(dev); 1323 + fbi = pxafb_init_fbinfo(&dev->dev); 1324 1324 if (!fbi) { 1325 - dev_err(dev, "Failed to initialize framebuffer device\n"); 1325 + dev_err(&dev->dev, "Failed to initialize framebuffer device\n"); 1326 1326 ret = -ENOMEM; // only reason for pxafb_init_fbinfo to fail is kmalloc 1327 1327 goto failed; 1328 1328 } ··· 1330 1330 /* Initialize video memory */ 1331 1331 ret = pxafb_map_video_memory(fbi); 1332 1332 if (ret) { 1333 - dev_err(dev, "Failed to allocate video RAM: %d\n", ret); 1333 + dev_err(&dev->dev, "Failed to allocate video RAM: %d\n", ret); 1334 1334 ret = -ENOMEM; 1335 1335 goto failed; 1336 1336 } 1337 1337 1338 1338 ret = request_irq(IRQ_LCD, pxafb_handle_irq, SA_INTERRUPT, "LCD", fbi); 1339 1339 if (ret) { 1340 - dev_err(dev, "request_irq failed: %d\n", ret); 1340 + dev_err(&dev->dev, "request_irq failed: %d\n", ret); 1341 1341 ret = -EBUSY; 1342 1342 goto failed; 1343 1343 } ··· 1349 1349 pxafb_check_var(&fbi->fb.var, &fbi->fb); 1350 1350 pxafb_set_par(&fbi->fb); 1351 1351 1352 - dev_set_drvdata(dev, fbi); 1352 + platform_set_drvdata(dev, fbi); 1353 1353 1354 1354 ret = register_framebuffer(&fbi->fb); 1355 1355 if (ret < 0) { 1356 - dev_err(dev, "Failed to register framebuffer device: %d\n", ret); 1356 + dev_err(&dev->dev, "Failed to register framebuffer device: %d\n", ret); 1357 1357 goto failed; 1358 1358 } 1359 1359 ··· 1376 1376 return 0; 1377 1377 1378 1378 failed: 1379 - dev_set_drvdata(dev, NULL); 1379 + platform_set_drvdata(dev, NULL); 1380 1380 kfree(fbi); 1381 1381 return ret; 1382 1382 } 1383 1383 1384 - static struct device_driver pxafb_driver = { 1385 - .name = "pxa2xx-fb", 1386 - .bus = &platform_bus_type, 1384 + static struct platform_driver pxafb_driver = { 1387 1385 .probe = pxafb_probe, 1388 1386 #ifdef CONFIG_PM 1389 1387 .suspend = pxafb_suspend, 1390 1388 .resume = pxafb_resume, 1391 1389 #endif 1390 + .driver = { 1391 + .name = "pxa2xx-fb", 1392 + }, 1392 1393 }; 1393 1394 1394 1395 #ifndef MODULE ··· 1416 1415 return -ENODEV; 1417 1416 pxafb_setup(option); 1418 1417 #endif 1419 - return driver_register(&pxafb_driver); 1418 + return platform_driver_register(&pxafb_driver); 1420 1419 } 1421 1420 1422 1421 module_init(pxafb_init);
+7 -7
drivers/video/q40fb.c
··· 86 86 .fb_imageblit = cfb_imageblit, 87 87 }; 88 88 89 - static int __init q40fb_probe(struct device *device) 89 + static int __init q40fb_probe(struct platform_device *dev) 90 90 { 91 - struct platform_device *dev = to_platform_device(device); 92 91 struct fb_info *info; 93 92 94 93 if (!MACH_IS_Q40) ··· 127 128 return 0; 128 129 } 129 130 130 - static struct device_driver q40fb_driver = { 131 - .name = "q40fb", 132 - .bus = &platform_bus_type, 131 + static struct platform_driver q40fb_driver = { 133 132 .probe = q40fb_probe, 133 + .driver = { 134 + .name = "q40fb", 135 + }, 134 136 }; 135 137 136 138 static struct platform_device q40fb_device = { ··· 145 145 if (fb_get_options("q40fb", NULL)) 146 146 return -ENODEV; 147 147 148 - ret = driver_register(&q40fb_driver); 148 + ret = platform_driver_register(&q40fb_driver); 149 149 150 150 if (!ret) { 151 151 ret = platform_device_register(&q40fb_device); 152 152 if (ret) 153 - driver_unregister(&q40fb_driver); 153 + platform_driver_unregister(&q40fb_driver); 154 154 } 155 155 return ret; 156 156 }
+24 -25
drivers/video/s1d13xxxfb.c
··· 503 503 504 504 505 505 static int 506 - s1d13xxxfb_remove(struct device *dev) 506 + s1d13xxxfb_remove(struct platform_device *pdev) 507 507 { 508 - struct fb_info *info = dev_get_drvdata(dev); 509 - struct platform_device *pdev = to_platform_device(dev); 508 + struct fb_info *info = platform_get_drvdata(pdev); 510 509 struct s1d13xxxfb_par *par = NULL; 511 510 512 511 if (info) { ··· 533 534 } 534 535 535 536 static int __devinit 536 - s1d13xxxfb_probe(struct device *dev) 537 + s1d13xxxfb_probe(struct platform_device *pdev) 537 538 { 538 - struct platform_device *pdev = to_platform_device(dev); 539 539 struct s1d13xxxfb_par *default_par; 540 540 struct fb_info *info; 541 541 struct s1d13xxxfb_pdata *pdata = NULL; ··· 546 548 printk(KERN_INFO "Epson S1D13XXX FB Driver\n"); 547 549 548 550 /* enable platform-dependent hardware glue, if any */ 549 - if (dev->platform_data) 550 - pdata = dev->platform_data; 551 + if (pdev->dev.platform_data) 552 + pdata = pdev->dev.platform_data; 551 553 552 554 if (pdata && pdata->platform_init_video) 553 555 pdata->platform_init_video(); ··· 570 572 571 573 if (!request_mem_region(pdev->resource[0].start, 572 574 pdev->resource[0].end - pdev->resource[0].start +1, "s1d13xxxfb mem")) { 573 - dev_dbg(dev, "request_mem_region failed\n"); 575 + dev_dbg(&pdev->dev, "request_mem_region failed\n"); 574 576 ret = -EBUSY; 575 577 goto bail; 576 578 } 577 579 578 580 if (!request_mem_region(pdev->resource[1].start, 579 581 pdev->resource[1].end - pdev->resource[1].start +1, "s1d13xxxfb regs")) { 580 - dev_dbg(dev, "request_mem_region failed\n"); 582 + dev_dbg(&pdev->dev, "request_mem_region failed\n"); 581 583 ret = -EBUSY; 582 584 goto bail; 583 585 } ··· 638 640 goto bail; 639 641 } 640 642 641 - dev_set_drvdata(&pdev->dev, info); 643 + platform_set_drvdata(pdev, info); 642 644 643 645 printk(KERN_INFO "fb%d: %s frame buffer device\n", 644 646 info->node, info->fix.id); ··· 646 648 return 0; 647 649 648 650 bail: 649 - s1d13xxxfb_remove(dev); 651 + s1d13xxxfb_remove(pdev); 650 652 return ret; 651 653 652 654 } 653 655 654 656 #ifdef CONFIG_PM 655 - static int s1d13xxxfb_suspend(struct device *dev, pm_message_t state) 657 + static int s1d13xxxfb_suspend(struct platform_device *dev, pm_message_t state) 656 658 { 657 - struct fb_info *info = dev_get_drvdata(dev); 659 + struct fb_info *info = platform_get_drvdata(dev); 658 660 struct s1d13xxxfb_par *s1dfb = info->par; 659 661 struct s1d13xxxfb_pdata *pdata = NULL; 660 662 ··· 662 664 lcd_enable(s1dfb, 0); 663 665 crt_enable(s1dfb, 0); 664 666 665 - if (dev->platform_data) 666 - pdata = dev->platform_data; 667 + if (dev->dev.platform_data) 668 + pdata = dev->dev.platform_data; 667 669 668 670 #if 0 669 671 if (!s1dfb->disp_save) ··· 699 701 return 0; 700 702 } 701 703 702 - static int s1d13xxxfb_resume(struct device *dev) 704 + static int s1d13xxxfb_resume(struct platform_device *dev) 703 705 { 704 - struct fb_info *info = dev_get_drvdata(dev); 706 + struct fb_info *info = platform_get_drvdata(dev); 705 707 struct s1d13xxxfb_par *s1dfb = info->par; 706 708 struct s1d13xxxfb_pdata *pdata = NULL; 707 709 ··· 712 714 while ((s1d13xxxfb_readreg(s1dfb, S1DREG_PS_STATUS) & 0x01)) 713 715 udelay(10); 714 716 715 - if (dev->platform_data) 716 - pdata = dev->platform_data; 717 + if (dev->dev.platform_data) 718 + pdata = dev->dev.platform_data; 717 719 718 720 if (s1dfb->regs_save) { 719 721 /* will write RO regs, *should* get away with it :) */ ··· 739 741 } 740 742 #endif /* CONFIG_PM */ 741 743 742 - static struct device_driver s1d13xxxfb_driver = { 743 - .name = S1D_DEVICENAME, 744 - .bus = &platform_bus_type, 744 + static struct platform_driver s1d13xxxfb_driver = { 745 745 .probe = s1d13xxxfb_probe, 746 746 .remove = s1d13xxxfb_remove, 747 747 #ifdef CONFIG_PM 748 748 .suspend = s1d13xxxfb_suspend, 749 - .resume = s1d13xxxfb_resume 749 + .resume = s1d13xxxfb_resume, 750 750 #endif 751 + .driver = { 752 + .name = S1D_DEVICENAME, 753 + }, 751 754 }; 752 755 753 756 ··· 758 759 if (fb_get_options("s1d13xxxfb", NULL)) 759 760 return -ENODEV; 760 761 761 - return driver_register(&s1d13xxxfb_driver); 762 + return platform_driver_register(&s1d13xxxfb_driver); 762 763 } 763 764 764 765 765 766 static void __exit 766 767 s1d13xxxfb_exit(void) 767 768 { 768 - driver_unregister(&s1d13xxxfb_driver); 769 + platform_driver_unregister(&s1d13xxxfb_driver); 769 770 } 770 771 771 772 module_init(s1d13xxxfb_init);
+23 -24
drivers/video/s3c2410fb.c
··· 634 634 635 635 static char driver_name[]="s3c2410fb"; 636 636 637 - int __init s3c2410fb_probe(struct device *dev) 637 + int __init s3c2410fb_probe(struct platform_device *pdev) 638 638 { 639 639 struct s3c2410fb_info *info; 640 640 struct fb_info *fbinfo; 641 - struct platform_device *pdev = to_platform_device(dev); 642 641 struct s3c2410fb_hw *mregs; 643 642 int ret; 644 643 int irq; 645 644 int i; 646 645 647 - mach_info = dev->platform_data; 646 + mach_info = pdev->dev.platform_data; 648 647 if (mach_info == NULL) { 649 - dev_err(dev,"no platform data for lcd, cannot attach\n"); 648 + dev_err(&pdev->dev,"no platform data for lcd, cannot attach\n"); 650 649 return -EINVAL; 651 650 } 652 651 ··· 653 654 654 655 irq = platform_get_irq(pdev, 0); 655 656 if (irq < 0) { 656 - dev_err(dev, "no irq for device\n"); 657 + dev_err(&pdev->dev, "no irq for device\n"); 657 658 return -ENOENT; 658 659 } 659 660 660 - fbinfo = framebuffer_alloc(sizeof(struct s3c2410fb_info), dev); 661 + fbinfo = framebuffer_alloc(sizeof(struct s3c2410fb_info), &pdev->dev); 661 662 if (!fbinfo) { 662 663 return -ENOMEM; 663 664 } ··· 665 666 666 667 info = fbinfo->par; 667 668 info->fb = fbinfo; 668 - dev_set_drvdata(dev, fbinfo); 669 + platform_set_drvdata(pdev, fbinfo); 669 670 670 671 s3c2410fb_init_registers(info); 671 672 ··· 675 676 676 677 memcpy(&info->regs, &mach_info->regs, sizeof(info->regs)); 677 678 678 - info->mach_info = dev->platform_data; 679 + info->mach_info = pdev->dev.platform_data; 679 680 680 681 fbinfo->fix.type = FB_TYPE_PACKED_PIXELS; 681 682 fbinfo->fix.type_aux = 0; ··· 734 735 735 736 ret = request_irq(irq, s3c2410fb_irq, SA_INTERRUPT, pdev->name, info); 736 737 if (ret) { 737 - dev_err(dev, "cannot get irq %d - err %d\n", irq, ret); 738 + dev_err(&pdev->dev, "cannot get irq %d - err %d\n", irq, ret); 738 739 ret = -EBUSY; 739 740 goto release_mem; 740 741 } ··· 772 773 } 773 774 774 775 /* create device files */ 775 - device_create_file(dev, &dev_attr_debug); 776 + device_create_file(&pdev->dev, &dev_attr_debug); 776 777 777 778 printk(KERN_INFO "fb%d: %s frame buffer device\n", 778 779 fbinfo->node, fbinfo->fix.id); ··· 815 816 /* 816 817 * Cleanup 817 818 */ 818 - static int s3c2410fb_remove(struct device *dev) 819 + static int s3c2410fb_remove(struct platform_device *pdev) 819 820 { 820 - struct platform_device *pdev = to_platform_device(dev); 821 - struct fb_info *fbinfo = dev_get_drvdata(dev); 821 + struct fb_info *fbinfo = platform_get_drvdata(pdev); 822 822 struct s3c2410fb_info *info = fbinfo->par; 823 823 int irq; 824 824 ··· 845 847 846 848 /* suspend and resume support for the lcd controller */ 847 849 848 - static int s3c2410fb_suspend(struct device *dev, pm_message_t state) 850 + static int s3c2410fb_suspend(struct platform_device *dev, pm_message_t state) 849 851 { 850 - struct fb_info *fbinfo = dev_get_drvdata(dev); 852 + struct fb_info *fbinfo = platform_get_drvdata(dev); 851 853 struct s3c2410fb_info *info = fbinfo->par; 852 854 853 855 s3c2410fb_stop_lcd(); ··· 862 864 return 0; 863 865 } 864 866 865 - static int s3c2410fb_resume(struct device *dev) 867 + static int s3c2410fb_resume(struct platform_device *dev) 866 868 { 867 - struct fb_info *fbinfo = dev_get_drvdata(dev); 869 + struct fb_info *fbinfo = platform_get_drvdata(dev); 868 870 struct s3c2410fb_info *info = fbinfo->par; 869 871 870 872 clk_enable(info->clk); ··· 880 882 #define s3c2410fb_resume NULL 881 883 #endif 882 884 883 - static struct device_driver s3c2410fb_driver = { 884 - .name = "s3c2410-lcd", 885 - .owner = THIS_MODULE, 886 - .bus = &platform_bus_type, 885 + static struct platform_driver s3c2410fb_driver = { 887 886 .probe = s3c2410fb_probe, 887 + .remove = s3c2410fb_remove, 888 888 .suspend = s3c2410fb_suspend, 889 889 .resume = s3c2410fb_resume, 890 - .remove = s3c2410fb_remove 890 + .driver = { 891 + .name = "s3c2410-lcd", 892 + .owner = THIS_MODULE, 893 + }, 891 894 }; 892 895 893 896 int __devinit s3c2410fb_init(void) 894 897 { 895 - return driver_register(&s3c2410fb_driver); 898 + return platform_driver_register(&s3c2410fb_driver); 896 899 } 897 900 898 901 static void __exit s3c2410fb_cleanup(void) 899 902 { 900 - driver_unregister(&s3c2410fb_driver); 903 + platform_driver_unregister(&s3c2410fb_driver); 901 904 } 902 905 903 906
+13 -12
drivers/video/sa1100fb.c
··· 1308 1308 * Power management hooks. Note that we won't be called from IRQ context, 1309 1309 * unlike the blank functions above, so we may sleep. 1310 1310 */ 1311 - static int sa1100fb_suspend(struct device *dev, pm_message_t state) 1311 + static int sa1100fb_suspend(struct platform_device *dev, pm_message_t state) 1312 1312 { 1313 - struct sa1100fb_info *fbi = dev_get_drvdata(dev); 1313 + struct sa1100fb_info *fbi = platform_get_drvdata(dev); 1314 1314 1315 1315 set_ctrlr_state(fbi, C_DISABLE_PM); 1316 1316 return 0; 1317 1317 } 1318 1318 1319 - static int sa1100fb_resume(struct device *dev) 1319 + static int sa1100fb_resume(struct platform_device *dev) 1320 1320 { 1321 - struct sa1100fb_info *fbi = dev_get_drvdata(dev); 1321 + struct sa1100fb_info *fbi = platform_get_drvdata(dev); 1322 1322 1323 1323 set_ctrlr_state(fbi, C_ENABLE_PM); 1324 1324 return 0; ··· 1452 1452 return fbi; 1453 1453 } 1454 1454 1455 - static int __init sa1100fb_probe(struct device *dev) 1455 + static int __init sa1100fb_probe(struct platform_device *pdev) 1456 1456 { 1457 1457 struct sa1100fb_info *fbi; 1458 1458 int ret; ··· 1460 1460 if (!request_mem_region(0xb0100000, 0x10000, "LCD")) 1461 1461 return -EBUSY; 1462 1462 1463 - fbi = sa1100fb_init_fbinfo(dev); 1463 + fbi = sa1100fb_init_fbinfo(&pdev->dev); 1464 1464 ret = -ENOMEM; 1465 1465 if (!fbi) 1466 1466 goto failed; ··· 1488 1488 */ 1489 1489 sa1100fb_check_var(&fbi->fb.var, &fbi->fb); 1490 1490 1491 - dev_set_drvdata(dev, fbi); 1491 + platform_set_drvdata(pdev, fbi); 1492 1492 1493 1493 ret = register_framebuffer(&fbi->fb); 1494 1494 if (ret < 0) ··· 1505 1505 return 0; 1506 1506 1507 1507 failed: 1508 - dev_set_drvdata(dev, NULL); 1508 + platform_set_drvdata(pdev, NULL); 1509 1509 kfree(fbi); 1510 1510 release_mem_region(0xb0100000, 0x10000); 1511 1511 return ret; 1512 1512 } 1513 1513 1514 - static struct device_driver sa1100fb_driver = { 1515 - .name = "sa11x0-fb", 1516 - .bus = &platform_bus_type, 1514 + static struct platform_driver sa1100fb_driver = { 1517 1515 .probe = sa1100fb_probe, 1518 1516 .suspend = sa1100fb_suspend, 1519 1517 .resume = sa1100fb_resume, 1518 + .driver = { 1519 + .name = "sa11x0-fb", 1520 + }, 1520 1521 }; 1521 1522 1522 1523 int __init sa1100fb_init(void) ··· 1525 1524 if (fb_get_options("sa1100fb", NULL)) 1526 1525 return -ENODEV; 1527 1526 1528 - return driver_register(&sa1100fb_driver); 1527 + return platform_driver_register(&sa1100fb_driver); 1529 1528 } 1530 1529 1531 1530 int __init sa1100fb_setup(char *options)
+11 -11
drivers/video/sgivwfb.c
··· 750 750 /* 751 751 * Initialisation 752 752 */ 753 - static int __init sgivwfb_probe(struct device *device) 753 + static int __init sgivwfb_probe(struct platform_device *dev) 754 754 { 755 - struct platform_device *dev = to_platform_device(device); 756 755 struct sgivw_par *par; 757 756 struct fb_info *info; 758 757 char *monitor; ··· 812 813 goto fail_register_framebuffer; 813 814 } 814 815 815 - dev_set_drvdata(&dev->dev, info); 816 + platform_set_drvdata(dev, info); 816 817 817 818 printk(KERN_INFO "fb%d: SGI DBE frame buffer device, using %ldK of video memory at %#lx\n", 818 819 info->node, sgivwfb_mem_size >> 10, sgivwfb_mem_phys); ··· 830 831 return -ENXIO; 831 832 } 832 833 833 - static int sgivwfb_remove(struct device *device) 834 + static int sgivwfb_remove(struct platform_device *dev) 834 835 { 835 - struct fb_info *info = dev_get_drvdata(device); 836 + struct fb_info *info = platform_get_drvdata(dev); 836 837 837 838 if (info) { 838 839 struct sgivw_par *par = info->par; ··· 846 847 return 0; 847 848 } 848 849 849 - static struct device_driver sgivwfb_driver = { 850 - .name = "sgivwfb", 851 - .bus = &platform_bus_type, 850 + static struct platform_driver sgivwfb_driver = { 852 851 .probe = sgivwfb_probe, 853 852 .remove = sgivwfb_remove, 853 + .driver = { 854 + .name = "sgivwfb", 855 + }, 854 856 }; 855 857 856 858 static struct platform_device *sgivwfb_device; ··· 867 867 return -ENODEV; 868 868 sgivwfb_setup(option); 869 869 #endif 870 - ret = driver_register(&sgivwfb_driver); 870 + ret = platform_driver_register(&sgivwfb_driver); 871 871 if (!ret) { 872 872 sgivwfb_device = platform_device_alloc("sgivwfb", 0); 873 873 if (sgivwfb_device) { ··· 875 875 } else 876 876 ret = -ENOMEM; 877 877 if (ret) { 878 - driver_unregister(&sgivwfb_driver); 878 + platform_driver_unregister(&sgivwfb_driver); 879 879 platform_device_put(sgivwfb_device); 880 880 } 881 881 } ··· 890 890 static void __exit sgivwfb_exit(void) 891 891 { 892 892 platform_device_unregister(sgivwfb_device); 893 - driver_unregister(&sgivwfb_driver); 893 + platform_driver_unregister(&sgivwfb_driver); 894 894 } 895 895 896 896 module_exit(sgivwfb_exit);
+7 -7
drivers/video/vesafb.c
··· 245 245 return 0; 246 246 } 247 247 248 - static int __init vesafb_probe(struct device *device) 248 + static int __init vesafb_probe(struct platform_device *dev) 249 249 { 250 - struct platform_device *dev = to_platform_device(device); 251 250 struct fb_info *info; 252 251 int i, err; 253 252 unsigned int size_vmode; ··· 479 480 return err; 480 481 } 481 482 482 - static struct device_driver vesafb_driver = { 483 - .name = "vesafb", 484 - .bus = &platform_bus_type, 483 + static struct platform_driver vesafb_driver = { 485 484 .probe = vesafb_probe, 485 + .driver = { 486 + .name = "vesafb", 487 + }, 486 488 }; 487 489 488 490 static struct platform_device vesafb_device = { ··· 498 498 /* ignore error return of fb_get_options */ 499 499 fb_get_options("vesafb", &option); 500 500 vesafb_setup(option); 501 - ret = driver_register(&vesafb_driver); 501 + ret = platform_driver_register(&vesafb_driver); 502 502 503 503 if (!ret) { 504 504 ret = platform_device_register(&vesafb_device); 505 505 if (ret) 506 - driver_unregister(&vesafb_driver); 506 + platform_driver_unregister(&vesafb_driver); 507 507 } 508 508 return ret; 509 509 }
+11 -11
drivers/video/vfb.c
··· 403 403 // This is called when the reference count goes to zero. 404 404 } 405 405 406 - static int __init vfb_probe(struct device *device) 406 + static int __init vfb_probe(struct platform_device *dev) 407 407 { 408 - struct platform_device *dev = to_platform_device(device); 409 408 struct fb_info *info; 410 409 int retval = -ENOMEM; 411 410 ··· 446 447 retval = register_framebuffer(info); 447 448 if (retval < 0) 448 449 goto err2; 449 - dev_set_drvdata(&dev->dev, info); 450 + platform_set_drvdata(dev, info); 450 451 451 452 printk(KERN_INFO 452 453 "fb%d: Virtual frame buffer device, using %ldK of video memory\n", ··· 461 462 return retval; 462 463 } 463 464 464 - static int vfb_remove(struct device *device) 465 + static int vfb_remove(struct platform_device *dev) 465 466 { 466 - struct fb_info *info = dev_get_drvdata(device); 467 + struct fb_info *info = platform_get_drvdata(dev); 467 468 468 469 if (info) { 469 470 unregister_framebuffer(info); ··· 473 474 return 0; 474 475 } 475 476 476 - static struct device_driver vfb_driver = { 477 - .name = "vfb", 478 - .bus = &platform_bus_type, 477 + static struct platform_driver vfb_driver = { 479 478 .probe = vfb_probe, 480 479 .remove = vfb_remove, 480 + .driver = { 481 + .name = "vfb", 482 + }, 481 483 }; 482 484 483 485 static struct platform_device vfb_device = { ··· 504 504 if (!vfb_enable) 505 505 return -ENXIO; 506 506 507 - ret = driver_register(&vfb_driver); 507 + ret = platform_driver_register(&vfb_driver); 508 508 509 509 if (!ret) { 510 510 ret = platform_device_register(&vfb_device); 511 511 if (ret) 512 - driver_unregister(&vfb_driver); 512 + platform_driver_unregister(&vfb_driver); 513 513 } 514 514 return ret; 515 515 } ··· 520 520 static void __exit vfb_exit(void) 521 521 { 522 522 platform_device_unregister(&vfb_device); 523 - driver_unregister(&vfb_driver); 523 + platform_driver_unregister(&vfb_driver); 524 524 } 525 525 526 526 module_exit(vfb_exit);
+23 -23
drivers/video/w100fb.c
··· 437 437 } 438 438 } 439 439 440 - static int w100fb_suspend(struct device *dev, pm_message_t state) 440 + static int w100fb_suspend(struct platform_device *dev, pm_message_t state) 441 441 { 442 - struct fb_info *info = dev_get_drvdata(dev); 442 + struct fb_info *info = platform_get_drvdata(dev); 443 443 struct w100fb_par *par=info->par; 444 444 struct w100_tg_info *tg = par->mach->tg; 445 445 ··· 452 452 return 0; 453 453 } 454 454 455 - static int w100fb_resume(struct device *dev) 455 + static int w100fb_resume(struct platform_device *dev) 456 456 { 457 - struct fb_info *info = dev_get_drvdata(dev); 457 + struct fb_info *info = platform_get_drvdata(dev); 458 458 struct w100fb_par *par=info->par; 459 459 struct w100_tg_info *tg = par->mach->tg; 460 460 ··· 473 473 #endif 474 474 475 475 476 - int __init w100fb_probe(struct device *dev) 476 + int __init w100fb_probe(struct platform_device *pdev) 477 477 { 478 478 int err = -EIO; 479 479 struct w100fb_mach_info *inf; 480 480 struct fb_info *info = NULL; 481 481 struct w100fb_par *par; 482 - struct platform_device *pdev = to_platform_device(dev); 483 482 struct resource *mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); 484 483 unsigned int chip_id; 485 484 ··· 521 522 } 522 523 523 524 par = info->par; 524 - dev_set_drvdata(dev, info); 525 + platform_set_drvdata(pdev, info); 525 526 526 - inf = dev->platform_data; 527 + inf = pdev->dev.platform_data; 527 528 par->chip_id = chip_id; 528 529 par->mach = inf; 529 530 par->fastpll_mode = 0; ··· 599 600 goto out; 600 601 } 601 602 602 - device_create_file(dev, &dev_attr_fastpllclk); 603 - device_create_file(dev, &dev_attr_reg_read); 604 - device_create_file(dev, &dev_attr_reg_write); 605 - device_create_file(dev, &dev_attr_flip); 603 + device_create_file(&pdev->dev, &dev_attr_fastpllclk); 604 + device_create_file(&pdev->dev, &dev_attr_reg_read); 605 + device_create_file(&pdev->dev, &dev_attr_reg_write); 606 + device_create_file(&pdev->dev, &dev_attr_flip); 606 607 607 608 printk(KERN_INFO "fb%d: %s frame buffer device\n", info->node, info->fix.id); 608 609 return 0; ··· 621 622 } 622 623 623 624 624 - static int w100fb_remove(struct device *dev) 625 + static int w100fb_remove(struct platform_device *pdev) 625 626 { 626 - struct fb_info *info = dev_get_drvdata(dev); 627 + struct fb_info *info = platform_get_drvdata(pdev); 627 628 struct w100fb_par *par=info->par; 628 629 629 - device_remove_file(dev, &dev_attr_fastpllclk); 630 - device_remove_file(dev, &dev_attr_reg_read); 631 - device_remove_file(dev, &dev_attr_reg_write); 632 - device_remove_file(dev, &dev_attr_flip); 630 + device_remove_file(&pdev->dev, &dev_attr_fastpllclk); 631 + device_remove_file(&pdev->dev, &dev_attr_reg_read); 632 + device_remove_file(&pdev->dev, &dev_attr_reg_write); 633 + device_remove_file(&pdev->dev, &dev_attr_flip); 633 634 634 635 unregister_framebuffer(info); 635 636 ··· 1447 1448 writel(0x00000002, remapped_regs + mmGEN_INT_STATUS); 1448 1449 } 1449 1450 1450 - static struct device_driver w100fb_driver = { 1451 - .name = "w100fb", 1452 - .bus = &platform_bus_type, 1451 + static struct platform_driver w100fb_driver = { 1453 1452 .probe = w100fb_probe, 1454 1453 .remove = w100fb_remove, 1455 1454 .suspend = w100fb_suspend, 1456 1455 .resume = w100fb_resume, 1456 + .driver = { 1457 + .name = "w100fb", 1458 + }, 1457 1459 }; 1458 1460 1459 1461 int __devinit w100fb_init(void) 1460 1462 { 1461 - return driver_register(&w100fb_driver); 1463 + return platform_driver_register(&w100fb_driver); 1462 1464 } 1463 1465 1464 1466 void __exit w100fb_cleanup(void) 1465 1467 { 1466 - driver_unregister(&w100fb_driver); 1468 + platform_driver_unregister(&w100fb_driver); 1467 1469 } 1468 1470 1469 1471 module_init(w100fb_init);
+18 -17
sound/arm/pxa2xx-ac97.c
··· 275 275 return 0; 276 276 } 277 277 278 - static int pxa2xx_ac97_suspend(struct device *_dev, pm_message_t state) 278 + static int pxa2xx_ac97_suspend(struct platform_device *dev, pm_message_t state) 279 279 { 280 - snd_card_t *card = dev_get_drvdata(_dev); 280 + snd_card_t *card = platform_get_drvdata(dev); 281 281 int ret = 0; 282 282 283 283 if (card) ··· 286 286 return ret; 287 287 } 288 288 289 - static int pxa2xx_ac97_resume(struct device *_dev) 289 + static int pxa2xx_ac97_resume(struct platform_device *dev) 290 290 { 291 - snd_card_t *card = dev_get_drvdata(_dev); 291 + snd_card_t *card = platform_get_drvdata(dev); 292 292 int ret = 0; 293 293 294 294 if (card) ··· 302 302 #define pxa2xx_ac97_resume NULL 303 303 #endif 304 304 305 - static int pxa2xx_ac97_probe(struct device *dev) 305 + static int pxa2xx_ac97_probe(struct platform_device *dev) 306 306 { 307 307 snd_card_t *card; 308 308 ac97_bus_t *ac97_bus; ··· 315 315 if (!card) 316 316 goto err; 317 317 318 - card->dev = dev; 319 - strncpy(card->driver, dev->driver->name, sizeof(card->driver)); 318 + card->dev = &dev->dev; 319 + strncpy(card->driver, dev->dev.driver->name, sizeof(card->driver)); 320 320 321 321 ret = pxa2xx_pcm_new(card, &pxa2xx_ac97_pcm_client, &pxa2xx_ac97_pcm); 322 322 if (ret) ··· 347 347 snprintf(card->shortname, sizeof(card->shortname), 348 348 "%s", snd_ac97_get_short_name(pxa2xx_ac97_ac97)); 349 349 snprintf(card->longname, sizeof(card->longname), 350 - "%s (%s)", dev->driver->name, card->mixername); 350 + "%s (%s)", dev->dev.driver->name, card->mixername); 351 351 352 352 snd_card_set_pm_callback(card, pxa2xx_ac97_do_suspend, 353 353 pxa2xx_ac97_do_resume, NULL); 354 354 ret = snd_card_register(card); 355 355 if (ret == 0) { 356 - dev_set_drvdata(dev, card); 356 + platform_set_drvdata(dev, card); 357 357 return 0; 358 358 } 359 359 ··· 368 368 return ret; 369 369 } 370 370 371 - static int pxa2xx_ac97_remove(struct device *dev) 371 + static int pxa2xx_ac97_remove(struct platform_device *dev) 372 372 { 373 - snd_card_t *card = dev_get_drvdata(dev); 373 + snd_card_t *card = platform_get_drvdata(dev); 374 374 375 375 if (card) { 376 376 snd_card_free(card); 377 - dev_set_drvdata(dev, NULL); 377 + platform_set_drvdata(dev, NULL); 378 378 GCR |= GCR_ACLINK_OFF; 379 379 free_irq(IRQ_AC97, NULL); 380 380 pxa_set_cken(CKEN2_AC97, 0); ··· 383 383 return 0; 384 384 } 385 385 386 - static struct device_driver pxa2xx_ac97_driver = { 387 - .name = "pxa2xx-ac97", 388 - .bus = &platform_bus_type, 386 + static struct platform_driver pxa2xx_ac97_driver = { 389 387 .probe = pxa2xx_ac97_probe, 390 388 .remove = pxa2xx_ac97_remove, 391 389 .suspend = pxa2xx_ac97_suspend, 392 390 .resume = pxa2xx_ac97_resume, 391 + .driver = { 392 + .name = "pxa2xx-ac97", 393 + }, 393 394 }; 394 395 395 396 static int __init pxa2xx_ac97_init(void) 396 397 { 397 - return driver_register(&pxa2xx_ac97_driver); 398 + return platform_driver_register(&pxa2xx_ac97_driver); 398 399 } 399 400 400 401 static void __exit pxa2xx_ac97_exit(void) 401 402 { 402 - driver_unregister(&pxa2xx_ac97_driver); 403 + platform_driver_unregister(&pxa2xx_ac97_driver); 403 404 } 404 405 405 406 module_init(pxa2xx_ac97_init);
+9 -8
sound/core/init.c
··· 674 674 snd_card_t *card; 675 675 }; 676 676 677 - #define get_snd_generic_card(dev) container_of(to_platform_device(dev), struct snd_generic_device, pdev)->card 677 + #define get_snd_generic_card(dev) container_of(dev, struct snd_generic_device, pdev)->card 678 678 679 679 #define SND_GENERIC_NAME "snd_generic" 680 680 681 681 #ifdef CONFIG_PM 682 - static int snd_generic_suspend(struct device *dev, pm_message_t state); 683 - static int snd_generic_resume(struct device *dev); 682 + static int snd_generic_suspend(struct platform_device *dev, pm_message_t state); 683 + static int snd_generic_resume(struct platform_device *dev); 684 684 #endif 685 685 686 686 /* initialized in sound.c */ 687 - struct device_driver snd_generic_driver = { 688 - .name = SND_GENERIC_NAME, 689 - .bus = &platform_bus_type, 687 + struct platform_driver snd_generic_driver = { 690 688 #ifdef CONFIG_PM 691 689 .suspend = snd_generic_suspend, 692 690 .resume = snd_generic_resume, 693 691 #endif 692 + .driver = { 693 + .name = SND_GENERIC_NAME, 694 + }, 694 695 }; 695 696 696 697 void snd_generic_device_release(struct device *dev) ··· 822 821 823 822 #ifdef CONFIG_SND_GENERIC_DRIVER 824 823 /* suspend/resume callbacks for snd_generic platform device */ 825 - static int snd_generic_suspend(struct device *dev, pm_message_t state) 824 + static int snd_generic_suspend(struct platform_device *dev, pm_message_t state) 826 825 { 827 826 snd_card_t *card; 828 827 ··· 835 834 return 0; 836 835 } 837 836 838 - static int snd_generic_resume(struct device *dev) 837 + static int snd_generic_resume(struct platform_device *dev) 839 838 { 840 839 snd_card_t *card; 841 840
+4 -4
sound/core/sound.c
··· 32 32 #include <sound/initval.h> 33 33 #include <linux/kmod.h> 34 34 #include <linux/devfs_fs_kernel.h> 35 - #include <linux/device.h> 35 + #include <linux/platform_device.h> 36 36 37 37 #define SNDRV_OS_MINORS 256 38 38 ··· 329 329 */ 330 330 331 331 #ifdef CONFIG_SND_GENERIC_DRIVER 332 - extern struct device_driver snd_generic_driver; 332 + extern struct platform_driver snd_generic_driver; 333 333 #endif 334 334 335 335 static int __init alsa_sound_init(void) ··· 357 357 } 358 358 snd_info_minor_register(); 359 359 #ifdef CONFIG_SND_GENERIC_DRIVER 360 - driver_register(&snd_generic_driver); 360 + platform_driver_register(&snd_generic_driver); 361 361 #endif 362 362 for (controlnum = 0; controlnum < cards_limit; controlnum++) 363 363 devfs_mk_cdev(MKDEV(major, controlnum<<5), S_IFCHR | device_mode, "snd/controlC%d", controlnum); ··· 375 375 devfs_remove("snd/controlC%d", controlnum); 376 376 377 377 #ifdef CONFIG_SND_GENERIC_DRIVER 378 - driver_unregister(&snd_generic_driver); 378 + platform_driver_unregister(&snd_generic_driver); 379 379 #endif 380 380 snd_info_minor_unregister(); 381 381 snd_info_done();