Merge tag 'driver-core-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
Pull driver core patches from Greg Kroah-Hartman: "Here is the big driver core merge for 3.9-rc1 There are two major series here, both of which touch lots of drivers all over the kernel, and will cause you some merge conflicts: - add a new function called devm_ioremap_resource() to properly be able to check return values. - remove CONFIG_EXPERIMENTAL Other than those patches, there's not much here, some minor fixes and updates" Fix up trivial conflicts * tag 'driver-core-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (221 commits) base: memory: fix soft/hard_offline_page permissions drivercore: Fix ordering between deferred_probe and exiting initcalls backlight: fix class_find_device() arguments TTY: mark tty_get_device call with the proper const values driver-core: constify data for class_find_device() firmware: Ignore abort check when no user-helper is used firmware: Reduce ifdef CONFIG_FW_LOADER_USER_HELPER firmware: Make user-mode helper optional firmware: Refactoring for splitting user-mode helper code Driver core: treat unregistered bus_types as having no devices watchdog: Convert to devm_ioremap_resource() thermal: Convert to devm_ioremap_resource() spi: Convert to devm_ioremap_resource() power: Convert to devm_ioremap_resource() mtd: Convert to devm_ioremap_resource() mmc: Convert to devm_ioremap_resource() mfd: Convert to devm_ioremap_resource() media: Convert to devm_ioremap_resource() iommu: Convert to devm_ioremap_resource() drm: Convert to devm_ioremap_resource() ...
Este cometimento está contido em:
@@ -98,9 +98,9 @@ static int usbmisc_imx6q_probe(struct platform_device *pdev)
|
||||
spin_lock_init(&data->lock);
|
||||
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
data->base = devm_request_and_ioremap(&pdev->dev, res);
|
||||
if (!data->base)
|
||||
return -EADDRNOTAVAIL;
|
||||
data->base = devm_ioremap_resource(&pdev->dev, res);
|
||||
if (IS_ERR(data->base))
|
||||
return PTR_ERR(data->base);
|
||||
|
||||
data->clk = devm_clk_get(&pdev->dev, NULL);
|
||||
if (IS_ERR(data->clk)) {
|
||||
|
@@ -1982,17 +1982,7 @@ static struct platform_driver at91_udc_driver = {
|
||||
},
|
||||
};
|
||||
|
||||
static int __init udc_init_module(void)
|
||||
{
|
||||
return platform_driver_probe(&at91_udc_driver, at91udc_probe);
|
||||
}
|
||||
module_init(udc_init_module);
|
||||
|
||||
static void __exit udc_exit_module(void)
|
||||
{
|
||||
platform_driver_unregister(&at91_udc_driver);
|
||||
}
|
||||
module_exit(udc_exit_module);
|
||||
module_platform_driver_probe(at91_udc_driver, at91udc_probe);
|
||||
|
||||
MODULE_DESCRIPTION("AT91 udc driver");
|
||||
MODULE_AUTHOR("Thomas Rathbone, David Brownell");
|
||||
|
@@ -2066,17 +2066,7 @@ static struct platform_driver udc_driver = {
|
||||
},
|
||||
};
|
||||
|
||||
static int __init udc_init(void)
|
||||
{
|
||||
return platform_driver_probe(&udc_driver, usba_udc_probe);
|
||||
}
|
||||
module_init(udc_init);
|
||||
|
||||
static void __exit udc_exit(void)
|
||||
{
|
||||
platform_driver_unregister(&udc_driver);
|
||||
}
|
||||
module_exit(udc_exit);
|
||||
module_platform_driver_probe(udc_driver, usba_udc_probe);
|
||||
|
||||
MODULE_DESCRIPTION("Atmel USBA UDC driver");
|
||||
MODULE_AUTHOR("Haavard Skinnemoen (Atmel)");
|
||||
|
@@ -2351,19 +2351,20 @@ static int bcm63xx_udc_probe(struct platform_device *pdev)
|
||||
dev_err(dev, "error finding USBD resource\n");
|
||||
return -ENXIO;
|
||||
}
|
||||
udc->usbd_regs = devm_request_and_ioremap(dev, res);
|
||||
|
||||
udc->usbd_regs = devm_ioremap_resource(dev, res);
|
||||
if (IS_ERR(udc->usbd_regs))
|
||||
return PTR_ERR(udc->usbd_regs);
|
||||
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
|
||||
if (!res) {
|
||||
dev_err(dev, "error finding IUDMA resource\n");
|
||||
return -ENXIO;
|
||||
}
|
||||
udc->iudma_regs = devm_request_and_ioremap(dev, res);
|
||||
|
||||
if (!udc->usbd_regs || !udc->iudma_regs) {
|
||||
dev_err(dev, "error requesting resources\n");
|
||||
return -ENXIO;
|
||||
}
|
||||
udc->iudma_regs = devm_ioremap_resource(dev, res);
|
||||
if (IS_ERR(udc->iudma_regs))
|
||||
return PTR_ERR(udc->iudma_regs);
|
||||
|
||||
spin_lock_init(&udc->lock);
|
||||
INIT_WORK(&udc->ep0_wq, bcm63xx_ep0_process);
|
||||
|
@@ -1547,15 +1547,4 @@ static struct platform_driver fusb300_driver = {
|
||||
},
|
||||
};
|
||||
|
||||
static int __init fusb300_udc_init(void)
|
||||
{
|
||||
return platform_driver_probe(&fusb300_driver, fusb300_probe);
|
||||
}
|
||||
|
||||
module_init(fusb300_udc_init);
|
||||
|
||||
static void __exit fusb300_udc_cleanup(void)
|
||||
{
|
||||
platform_driver_unregister(&fusb300_driver);
|
||||
}
|
||||
module_exit(fusb300_udc_cleanup);
|
||||
module_platform_driver_probe(fusb300_driver, fusb300_probe);
|
||||
|
@@ -1556,17 +1556,7 @@ static struct platform_driver udc_driver = {
|
||||
.resume = imx_udc_resume,
|
||||
};
|
||||
|
||||
static int __init udc_init(void)
|
||||
{
|
||||
return platform_driver_probe(&udc_driver, imx_udc_probe);
|
||||
}
|
||||
module_init(udc_init);
|
||||
|
||||
static void __exit udc_exit(void)
|
||||
{
|
||||
platform_driver_unregister(&udc_driver);
|
||||
}
|
||||
module_exit(udc_exit);
|
||||
module_platform_driver_probe(udc_driver, imx_udc_probe);
|
||||
|
||||
MODULE_DESCRIPTION("IMX USB Device Controller driver");
|
||||
MODULE_AUTHOR("Darius Augulis <augulis.darius@gmail.com>");
|
||||
|
@@ -3458,17 +3458,7 @@ static struct platform_driver lpc32xx_udc_driver = {
|
||||
},
|
||||
};
|
||||
|
||||
static int __init udc_init_module(void)
|
||||
{
|
||||
return platform_driver_probe(&lpc32xx_udc_driver, lpc32xx_udc_probe);
|
||||
}
|
||||
module_init(udc_init_module);
|
||||
|
||||
static void __exit udc_exit_module(void)
|
||||
{
|
||||
platform_driver_unregister(&lpc32xx_udc_driver);
|
||||
}
|
||||
module_exit(udc_exit_module);
|
||||
module_platform_driver_probe(lpc32xx_udc_driver, lpc32xx_udc_probe);
|
||||
|
||||
MODULE_DESCRIPTION("LPC32XX udc driver");
|
||||
MODULE_AUTHOR("Kevin Wells <kevin.wells@nxp.com>");
|
||||
|
@@ -1753,14 +1753,4 @@ static struct platform_driver m66592_driver = {
|
||||
},
|
||||
};
|
||||
|
||||
static int __init m66592_udc_init(void)
|
||||
{
|
||||
return platform_driver_probe(&m66592_driver, m66592_probe);
|
||||
}
|
||||
module_init(m66592_udc_init);
|
||||
|
||||
static void __exit m66592_udc_cleanup(void)
|
||||
{
|
||||
platform_driver_unregister(&m66592_driver);
|
||||
}
|
||||
module_exit(m66592_udc_cleanup);
|
||||
module_platform_driver_probe(m66592_driver, m66592_probe);
|
||||
|
@@ -2100,6 +2100,8 @@ static int __init pxa25x_udc_probe(struct platform_device *pdev)
|
||||
int retval, irq;
|
||||
u32 chiprev;
|
||||
|
||||
pr_info("%s: version %s\n", driver_name, DRIVER_VERSION);
|
||||
|
||||
/* insist on Intel/ARM/XScale */
|
||||
asm("mrc%? p15, 0, %0, c0, c0" : "=r" (chiprev));
|
||||
if ((chiprev & CP15R0_VENDOR_MASK) != CP15R0_XSCALE_VALUE) {
|
||||
@@ -2346,18 +2348,7 @@ static struct platform_driver udc_driver = {
|
||||
},
|
||||
};
|
||||
|
||||
static int __init udc_init(void)
|
||||
{
|
||||
pr_info("%s: version %s\n", driver_name, DRIVER_VERSION);
|
||||
return platform_driver_probe(&udc_driver, pxa25x_udc_probe);
|
||||
}
|
||||
module_init(udc_init);
|
||||
|
||||
static void __exit udc_exit(void)
|
||||
{
|
||||
platform_driver_unregister(&udc_driver);
|
||||
}
|
||||
module_exit(udc_exit);
|
||||
module_platform_driver_probe(udc_driver, pxa25x_udc_probe);
|
||||
|
||||
MODULE_DESCRIPTION(DRIVER_DESC);
|
||||
MODULE_AUTHOR("Frank Becker, Robert Schwebel, David Brownell");
|
||||
|
@@ -2031,21 +2031,10 @@ static struct platform_driver r8a66597_driver = {
|
||||
.name = (char *) udc_name,
|
||||
},
|
||||
};
|
||||
MODULE_ALIAS("platform:r8a66597_udc");
|
||||
|
||||
static int __init r8a66597_udc_init(void)
|
||||
{
|
||||
return platform_driver_probe(&r8a66597_driver, r8a66597_probe);
|
||||
}
|
||||
module_init(r8a66597_udc_init);
|
||||
|
||||
static void __exit r8a66597_udc_cleanup(void)
|
||||
{
|
||||
platform_driver_unregister(&r8a66597_driver);
|
||||
}
|
||||
module_exit(r8a66597_udc_cleanup);
|
||||
module_platform_driver_probe(r8a66597_driver, r8a66597_probe);
|
||||
|
||||
MODULE_DESCRIPTION("R8A66597 USB gadget driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_AUTHOR("Yoshihiro Shimoda");
|
||||
|
||||
MODULE_ALIAS("platform:r8a66597_udc");
|
||||
|
@@ -3525,10 +3525,9 @@ static int s3c_hsotg_probe(struct platform_device *pdev)
|
||||
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
|
||||
hsotg->regs = devm_request_and_ioremap(&pdev->dev, res);
|
||||
if (!hsotg->regs) {
|
||||
dev_err(dev, "cannot map registers\n");
|
||||
ret = -ENXIO;
|
||||
hsotg->regs = devm_ioremap_resource(&pdev->dev, res);
|
||||
if (IS_ERR(hsotg->regs)) {
|
||||
ret = PTR_ERR(hsotg->regs);
|
||||
goto err_clk;
|
||||
}
|
||||
|
||||
|
@@ -1295,10 +1295,9 @@ static int s3c_hsudc_probe(struct platform_device *pdev)
|
||||
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
|
||||
hsudc->regs = devm_request_and_ioremap(&pdev->dev, res);
|
||||
if (!hsudc->regs) {
|
||||
dev_err(dev, "error mapping device register area\n");
|
||||
ret = -EBUSY;
|
||||
hsudc->regs = devm_ioremap_resource(&pdev->dev, res);
|
||||
if (IS_ERR(hsudc->regs)) {
|
||||
ret = PTR_ERR(hsudc->regs);
|
||||
goto err_res;
|
||||
}
|
||||
|
||||
|
@@ -143,10 +143,9 @@ static int ehci_atmel_drv_probe(struct platform_device *pdev)
|
||||
hcd->rsrc_start = res->start;
|
||||
hcd->rsrc_len = resource_size(res);
|
||||
|
||||
hcd->regs = devm_request_and_ioremap(&pdev->dev, res);
|
||||
if (hcd->regs == NULL) {
|
||||
dev_dbg(&pdev->dev, "error mapping memory\n");
|
||||
retval = -EFAULT;
|
||||
hcd->regs = devm_ioremap_resource(&pdev->dev, res);
|
||||
if (IS_ERR(hcd->regs)) {
|
||||
retval = PTR_ERR(hcd->regs);
|
||||
goto fail_request_resource;
|
||||
}
|
||||
|
||||
|
@@ -25,7 +25,7 @@
|
||||
* Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
|
||||
#include <linux/err.h>
|
||||
#include <linux/signal.h>
|
||||
|
||||
#include <linux/of_irq.h>
|
||||
@@ -118,10 +118,9 @@ static int ehci_hcd_grlib_probe(struct platform_device *op)
|
||||
goto err_irq;
|
||||
}
|
||||
|
||||
hcd->regs = devm_request_and_ioremap(&op->dev, &res);
|
||||
if (!hcd->regs) {
|
||||
pr_err("%s: devm_request_and_ioremap failed\n", __FILE__);
|
||||
rv = -ENOMEM;
|
||||
hcd->regs = devm_ioremap_resource(&op->dev, &res);
|
||||
if (IS_ERR(hcd->regs)) {
|
||||
rv = PTR_ERR(hcd->regs);
|
||||
goto err_ioremap;
|
||||
}
|
||||
|
||||
|
@@ -85,10 +85,9 @@ static int ehci_mxc_drv_probe(struct platform_device *pdev)
|
||||
hcd->rsrc_start = res->start;
|
||||
hcd->rsrc_len = resource_size(res);
|
||||
|
||||
hcd->regs = devm_request_and_ioremap(&pdev->dev, res);
|
||||
if (!hcd->regs) {
|
||||
dev_err(dev, "error mapping memory\n");
|
||||
ret = -EFAULT;
|
||||
hcd->regs = devm_ioremap_resource(&pdev->dev, res);
|
||||
if (IS_ERR(hcd->regs)) {
|
||||
ret = PTR_ERR(hcd->regs);
|
||||
goto err_alloc;
|
||||
}
|
||||
|
||||
|
@@ -18,6 +18,7 @@
|
||||
*
|
||||
* Licensed under the GNU/GPL. See COPYING for details.
|
||||
*/
|
||||
#include <linux/err.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/hrtimer.h>
|
||||
#include <linux/io.h>
|
||||
@@ -104,9 +105,9 @@ static int ehci_platform_probe(struct platform_device *dev)
|
||||
hcd->rsrc_start = res_mem->start;
|
||||
hcd->rsrc_len = resource_size(res_mem);
|
||||
|
||||
hcd->regs = devm_request_and_ioremap(&dev->dev, res_mem);
|
||||
if (!hcd->regs) {
|
||||
err = -ENOMEM;
|
||||
hcd->regs = devm_ioremap_resource(&dev->dev, res_mem);
|
||||
if (IS_ERR(hcd->regs)) {
|
||||
err = PTR_ERR(hcd->regs);
|
||||
goto err_put_hcd;
|
||||
}
|
||||
err = usb_add_hcd(hcd, irq, IRQF_SHARED);
|
||||
|
@@ -12,6 +12,7 @@
|
||||
* This file is licenced under the GPL.
|
||||
*/
|
||||
|
||||
#include <linux/err.h>
|
||||
#include <linux/signal.h>
|
||||
|
||||
#include <linux/of.h>
|
||||
@@ -121,10 +122,9 @@ static int ehci_hcd_ppc_of_probe(struct platform_device *op)
|
||||
goto err_irq;
|
||||
}
|
||||
|
||||
hcd->regs = devm_request_and_ioremap(&op->dev, &res);
|
||||
if (!hcd->regs) {
|
||||
pr_err("%s: devm_request_and_ioremap failed\n", __FILE__);
|
||||
rv = -ENOMEM;
|
||||
hcd->regs = devm_ioremap_resource(&op->dev, &res);
|
||||
if (IS_ERR(hcd->regs)) {
|
||||
rv = PTR_ERR(hcd->regs);
|
||||
goto err_ioremap;
|
||||
}
|
||||
|
||||
|
@@ -19,6 +19,7 @@
|
||||
* Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <linux/err.h>
|
||||
#include <linux/platform_device.h>
|
||||
|
||||
static int ehci_sead3_setup(struct usb_hcd *hcd)
|
||||
@@ -112,10 +113,9 @@ static int ehci_hcd_sead3_drv_probe(struct platform_device *pdev)
|
||||
hcd->rsrc_start = res->start;
|
||||
hcd->rsrc_len = resource_size(res);
|
||||
|
||||
hcd->regs = devm_request_and_ioremap(&pdev->dev, res);
|
||||
if (!hcd->regs) {
|
||||
pr_debug("ioremap failed");
|
||||
ret = -ENOMEM;
|
||||
hcd->regs = devm_ioremap_resource(&pdev->dev, res);
|
||||
if (IS_ERR(hcd->regs)) {
|
||||
ret = PTR_ERR(hcd->regs);
|
||||
goto err1;
|
||||
}
|
||||
|
||||
|
@@ -118,10 +118,9 @@ static int ehci_hcd_sh_probe(struct platform_device *pdev)
|
||||
hcd->rsrc_start = res->start;
|
||||
hcd->rsrc_len = resource_size(res);
|
||||
|
||||
hcd->regs = devm_request_and_ioremap(&pdev->dev, res);
|
||||
if (hcd->regs == NULL) {
|
||||
dev_dbg(&pdev->dev, "error mapping memory\n");
|
||||
ret = -ENXIO;
|
||||
hcd->regs = devm_ioremap_resource(&pdev->dev, res);
|
||||
if (IS_ERR(hcd->regs)) {
|
||||
ret = PTR_ERR(hcd->regs);
|
||||
goto fail_request_resource;
|
||||
}
|
||||
|
||||
|
@@ -16,6 +16,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <linux/err.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/platform_device.h>
|
||||
|
||||
@@ -96,10 +97,9 @@ static int vt8500_ehci_drv_probe(struct platform_device *pdev)
|
||||
hcd->rsrc_start = res->start;
|
||||
hcd->rsrc_len = resource_size(res);
|
||||
|
||||
hcd->regs = devm_request_and_ioremap(&pdev->dev, res);
|
||||
if (!hcd->regs) {
|
||||
pr_debug("ioremap failed");
|
||||
ret = -ENOMEM;
|
||||
hcd->regs = devm_ioremap_resource(&pdev->dev, res);
|
||||
if (IS_ERR(hcd->regs)) {
|
||||
ret = PTR_ERR(hcd->regs);
|
||||
goto err1;
|
||||
}
|
||||
|
||||
|
@@ -25,6 +25,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <linux/err.h>
|
||||
#include <linux/signal.h>
|
||||
|
||||
#include <linux/of.h>
|
||||
@@ -159,10 +160,9 @@ static int ehci_hcd_xilinx_of_probe(struct platform_device *op)
|
||||
goto err_irq;
|
||||
}
|
||||
|
||||
hcd->regs = devm_request_and_ioremap(&op->dev, &res);
|
||||
if (!hcd->regs) {
|
||||
pr_err("%s: devm_request_and_ioremap failed\n", __FILE__);
|
||||
rv = -ENOMEM;
|
||||
hcd->regs = devm_ioremap_resource(&op->dev, &res);
|
||||
if (IS_ERR(hcd->regs)) {
|
||||
rv = PTR_ERR(hcd->regs);
|
||||
goto err_irq;
|
||||
}
|
||||
|
||||
|
@@ -306,10 +306,9 @@ static int usb_hcd_nxp_probe(struct platform_device *pdev)
|
||||
goto out8;
|
||||
}
|
||||
|
||||
hcd->regs = devm_request_and_ioremap(&pdev->dev, res);
|
||||
if (!hcd->regs) {
|
||||
dev_err(&pdev->dev, "Failed to devm_request_and_ioremap\n");
|
||||
ret = -ENOMEM;
|
||||
hcd->regs = devm_ioremap_resource(&pdev->dev, res);
|
||||
if (IS_ERR(hcd->regs)) {
|
||||
ret = PTR_ERR(hcd->regs);
|
||||
goto out8;
|
||||
}
|
||||
hcd->rsrc_start = res->start;
|
||||
|
@@ -13,6 +13,7 @@
|
||||
*
|
||||
* Licensed under the GNU/GPL. See COPYING for details.
|
||||
*/
|
||||
#include <linux/err.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/usb/ohci_pdriver.h>
|
||||
|
||||
@@ -127,9 +128,9 @@ static int ohci_platform_probe(struct platform_device *dev)
|
||||
hcd->rsrc_start = res_mem->start;
|
||||
hcd->rsrc_len = resource_size(res_mem);
|
||||
|
||||
hcd->regs = devm_request_and_ioremap(&dev->dev, res_mem);
|
||||
if (!hcd->regs) {
|
||||
err = -ENOMEM;
|
||||
hcd->regs = devm_ioremap_resource(&dev->dev, res_mem);
|
||||
if (IS_ERR(hcd->regs)) {
|
||||
err = PTR_ERR(hcd->regs);
|
||||
goto err_put_hcd;
|
||||
}
|
||||
err = usb_add_hcd(hcd, irq, IRQF_SHARED);
|
||||
|
@@ -351,10 +351,9 @@ static int usb_hcd_s3c2410_probe(const struct hc_driver *driver,
|
||||
hcd->rsrc_start = dev->resource[0].start;
|
||||
hcd->rsrc_len = resource_size(&dev->resource[0]);
|
||||
|
||||
hcd->regs = devm_request_and_ioremap(&dev->dev, &dev->resource[0]);
|
||||
if (!hcd->regs) {
|
||||
dev_err(&dev->dev, "devm_request_and_ioremap failed\n");
|
||||
retval = -ENOMEM;
|
||||
hcd->regs = devm_ioremap_resource(&dev->dev, &dev->resource[0]);
|
||||
if (IS_ERR(hcd->regs)) {
|
||||
retval = PTR_ERR(hcd->regs);
|
||||
goto err_put;
|
||||
}
|
||||
|
||||
|
@@ -500,10 +500,9 @@ static int dsps_create_musb_pdev(struct dsps_glue *glue, u8 id)
|
||||
resources[0].end = resources[0].start + SZ_4 - 1;
|
||||
resources[0].flags = IORESOURCE_MEM;
|
||||
|
||||
glue->usb_ctrl[id] = devm_request_and_ioremap(&pdev->dev, resources);
|
||||
if (glue->usb_ctrl[id] == NULL) {
|
||||
dev_err(dev, "Failed to obtain usb_ctrl%d memory\n", id);
|
||||
ret = -ENODEV;
|
||||
glue->usb_ctrl[id] = devm_ioremap_resource(&pdev->dev, resources);
|
||||
if (IS_ERR(glue->usb_ctrl[id])) {
|
||||
ret = PTR_ERR(glue->usb_ctrl[id]);
|
||||
goto err0;
|
||||
}
|
||||
|
||||
|
@@ -523,9 +523,7 @@ static int omap2430_probe(struct platform_device *pdev)
|
||||
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
|
||||
|
||||
glue->control_otghs = devm_request_and_ioremap(&pdev->dev, res);
|
||||
if (glue->control_otghs == NULL)
|
||||
dev_dbg(&pdev->dev, "Failed to obtain control memory\n");
|
||||
glue->control_otghs = devm_ioremap_resource(&pdev->dev, res);
|
||||
|
||||
if (np) {
|
||||
pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);
|
||||
|
@@ -409,17 +409,7 @@ static struct platform_driver gpio_vbus_driver = {
|
||||
.remove = __exit_p(gpio_vbus_remove),
|
||||
};
|
||||
|
||||
static int __init gpio_vbus_init(void)
|
||||
{
|
||||
return platform_driver_probe(&gpio_vbus_driver, gpio_vbus_probe);
|
||||
}
|
||||
module_init(gpio_vbus_init);
|
||||
|
||||
static void __exit gpio_vbus_exit(void)
|
||||
{
|
||||
platform_driver_unregister(&gpio_vbus_driver);
|
||||
}
|
||||
module_exit(gpio_vbus_exit);
|
||||
module_platform_driver_probe(gpio_vbus_driver, gpio_vbus_probe);
|
||||
|
||||
MODULE_DESCRIPTION("simple GPIO controlled OTG transceiver driver");
|
||||
MODULE_AUTHOR("Philipp Zabel");
|
||||
|
@@ -1756,18 +1756,7 @@ static struct platform_driver msm_otg_driver = {
|
||||
},
|
||||
};
|
||||
|
||||
static int __init msm_otg_init(void)
|
||||
{
|
||||
return platform_driver_probe(&msm_otg_driver, msm_otg_probe);
|
||||
}
|
||||
|
||||
static void __exit msm_otg_exit(void)
|
||||
{
|
||||
platform_driver_unregister(&msm_otg_driver);
|
||||
}
|
||||
|
||||
module_init(msm_otg_init);
|
||||
module_exit(msm_otg_exit);
|
||||
module_platform_driver_probe(msm_otg_driver, msm_otg_probe);
|
||||
|
||||
MODULE_LICENSE("GPL v2");
|
||||
MODULE_DESCRIPTION("MSM USB transceiver driver");
|
||||
|
@@ -115,9 +115,9 @@ static int mxs_phy_probe(struct platform_device *pdev)
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
base = devm_request_and_ioremap(&pdev->dev, res);
|
||||
if (!base)
|
||||
return -EBUSY;
|
||||
base = devm_ioremap_resource(&pdev->dev, res);
|
||||
if (IS_ERR(base))
|
||||
return PTR_ERR(base);
|
||||
|
||||
clk = devm_clk_get(&pdev->dev, NULL);
|
||||
if (IS_ERR(clk)) {
|
||||
|
@@ -283,11 +283,9 @@ static int mv_u3d_phy_probe(struct platform_device *pdev)
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
phy_base = devm_request_and_ioremap(dev, res);
|
||||
if (!phy_base) {
|
||||
dev_err(dev, "%s: register mapping failed\n", __func__);
|
||||
return -ENXIO;
|
||||
}
|
||||
phy_base = devm_ioremap_resource(dev, res);
|
||||
if (IS_ERR(phy_base))
|
||||
return PTR_ERR(phy_base);
|
||||
|
||||
mv_u3d_phy = devm_kzalloc(dev, sizeof(*mv_u3d_phy), GFP_KERNEL);
|
||||
if (!mv_u3d_phy)
|
||||
|
@@ -168,11 +168,9 @@ static int omap_usb2_probe(struct platform_device *pdev)
|
||||
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
|
||||
|
||||
phy->control_dev = devm_request_and_ioremap(&pdev->dev, res);
|
||||
if (phy->control_dev == NULL) {
|
||||
dev_err(&pdev->dev, "Failed to obtain io memory\n");
|
||||
return -ENXIO;
|
||||
}
|
||||
phy->control_dev = devm_ioremap_resource(&pdev->dev, res);
|
||||
if (IS_ERR(phy->control_dev))
|
||||
return PTR_ERR(phy->control_dev);
|
||||
|
||||
phy->is_suspended = 1;
|
||||
omap_usb_phy_power(phy, 0);
|
||||
|
@@ -14,6 +14,7 @@
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
*/
|
||||
#include <linux/err.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/pm_runtime.h>
|
||||
@@ -443,11 +444,9 @@ static int usbhs_probe(struct platform_device *pdev)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
priv->base = devm_request_and_ioremap(&pdev->dev, res);
|
||||
if (!priv->base) {
|
||||
dev_err(&pdev->dev, "ioremap error.\n");
|
||||
return -ENOMEM;
|
||||
}
|
||||
priv->base = devm_ioremap_resource(&pdev->dev, res);
|
||||
if (IS_ERR(priv->base))
|
||||
return PTR_ERR(priv->base);
|
||||
|
||||
/*
|
||||
* care platform info
|
||||
|
Criar uma nova questão referindo esta
Bloquear um utilizador