aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-05-16 23:48:42 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-05-16 23:48:42 -0400
commit148c46f3e12bfd877c4fcec986f55988f21b0857 (patch)
tree21ae74a7fd903e3ece09710ed7cc8beca16ceabb
parent92752b5cddcfe421767cf61151bf5a1553a6540b (diff)
parent0f5b6ec67404246f3e08435aa37df3c8e9354101 (diff)
Merge tag 'char-misc-4.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
Pull char/misc fix from Greg KH: "Here is one fix, in the extcon subsystem, that resolves a reported issue. It's been in linux-next for a number of weeks now, sorry for not getting it to you sooner" * tag 'char-misc-4.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: extcon: usb-gpio: register extcon device before IRQ registration
-rw-r--r--drivers/extcon/extcon-usb-gpio.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/drivers/extcon/extcon-usb-gpio.c b/drivers/extcon/extcon-usb-gpio.c
index de67fce18984..e45d1f13f445 100644
--- a/drivers/extcon/extcon-usb-gpio.c
+++ b/drivers/extcon/extcon-usb-gpio.c
@@ -119,6 +119,18 @@ static int usb_extcon_probe(struct platform_device *pdev)
119 return PTR_ERR(info->id_gpiod); 119 return PTR_ERR(info->id_gpiod);
120 } 120 }
121 121
122 info->edev = devm_extcon_dev_allocate(dev, usb_extcon_cable);
123 if (IS_ERR(info->edev)) {
124 dev_err(dev, "failed to allocate extcon device\n");
125 return -ENOMEM;
126 }
127
128 ret = devm_extcon_dev_register(dev, info->edev);
129 if (ret < 0) {
130 dev_err(dev, "failed to register extcon device\n");
131 return ret;
132 }
133
122 ret = gpiod_set_debounce(info->id_gpiod, 134 ret = gpiod_set_debounce(info->id_gpiod,
123 USB_GPIO_DEBOUNCE_MS * 1000); 135 USB_GPIO_DEBOUNCE_MS * 1000);
124 if (ret < 0) 136 if (ret < 0)
@@ -142,18 +154,6 @@ static int usb_extcon_probe(struct platform_device *pdev)
142 return ret; 154 return ret;
143 } 155 }
144 156
145 info->edev = devm_extcon_dev_allocate(dev, usb_extcon_cable);
146 if (IS_ERR(info->edev)) {
147 dev_err(dev, "failed to allocate extcon device\n");
148 return -ENOMEM;
149 }
150
151 ret = devm_extcon_dev_register(dev, info->edev);
152 if (ret < 0) {
153 dev_err(dev, "failed to register extcon device\n");
154 return ret;
155 }
156
157 platform_set_drvdata(pdev, info); 157 platform_set_drvdata(pdev, info);
158 device_init_wakeup(dev, 1); 158 device_init_wakeup(dev, 1);
159 159