* [PATCH 0/2] extcon: of: Update OF helper function @ 2014-03-18 12:04 Chanwoo Choi 2014-03-18 12:04 ` [PATCH 1/2] extcon: of: Remove unnecessary function call by using the name of device_node Chanwoo Choi 2014-03-18 12:04 ` [PATCH 2/2] extcon: Move OF helper function to extcon core and change function name Chanwoo Choi 0 siblings, 2 replies; 9+ messages in thread From: Chanwoo Choi @ 2014-03-18 12:04 UTC (permalink / raw) To: gregkh, balbi, myungjoo.ham Cc: kishon, linux-kernel, linux-usb, linux-omap, Chanwoo Choi Thisp patchset remove unnecessary function call in of_extcon_get_extcon_dev() which get the extcon device from devicetree. Also, this patchset move OF helper func to extcon core and change function name as following: - of_extcon_get_extcon_dev() -> extcon_get_edev_by_phandle() Chanwoo Choi (2): extcon: of: Remove unnecessary function call by using the name of device_node extcon: Move OF helper function to extcon core and change function name drivers/extcon/Kconfig | 4 --- drivers/extcon/Makefile | 2 -- drivers/extcon/extcon-class.c | 43 +++++++++++++++++++++++++++ drivers/extcon/of_extcon.c | 64 ---------------------------------------- drivers/usb/dwc3/dwc3-omap.c | 3 +- include/linux/extcon.h | 12 ++++++++ include/linux/extcon/of_extcon.h | 31 ------------------- 7 files changed, 56 insertions(+), 103 deletions(-) delete mode 100644 drivers/extcon/of_extcon.c delete mode 100644 include/linux/extcon/of_extcon.h -- 1.8.0 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/2] extcon: of: Remove unnecessary function call by using the name of device_node 2014-03-18 12:04 [PATCH 0/2] extcon: of: Update OF helper function Chanwoo Choi @ 2014-03-18 12:04 ` Chanwoo Choi 2014-03-19 12:08 ` Kishon Vijay Abraham I 2014-03-18 12:04 ` [PATCH 2/2] extcon: Move OF helper function to extcon core and change function name Chanwoo Choi 1 sibling, 1 reply; 9+ messages in thread From: Chanwoo Choi @ 2014-03-18 12:04 UTC (permalink / raw) To: gregkh, balbi, myungjoo.ham Cc: kishon, linux-kernel, linux-usb, linux-omap, Chanwoo Choi This patch remove unnecessary function call in of_extcon_get_extcon_dev() by using the name of device_node structure. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> --- drivers/extcon/of_extcon.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/drivers/extcon/of_extcon.c b/drivers/extcon/of_extcon.c index 72173ec..0a29f82 100644 --- a/drivers/extcon/of_extcon.c +++ b/drivers/extcon/of_extcon.c @@ -32,7 +32,6 @@ struct extcon_dev *of_extcon_get_extcon_dev(struct device *dev, int index) { struct device_node *node; struct extcon_dev *edev; - struct platform_device *extcon_parent_dev; if (!dev->of_node) { dev_dbg(dev, "device does not have a device node entry\n"); @@ -46,16 +45,9 @@ struct extcon_dev *of_extcon_get_extcon_dev(struct device *dev, int index) return ERR_PTR(-ENODEV); } - extcon_parent_dev = of_find_device_by_node(node); - if (!extcon_parent_dev) { - dev_dbg(dev, "unable to find device by node\n"); - return ERR_PTR(-EPROBE_DEFER); - } - - edev = extcon_get_extcon_dev(dev_name(&extcon_parent_dev->dev)); + edev = extcon_get_extcon_dev(node->name); if (!edev) { - dev_dbg(dev, "unable to get extcon device : %s\n", - dev_name(&extcon_parent_dev->dev)); + dev_dbg(dev, "unable to get extcon device : %s\n", node->name); return ERR_PTR(-ENODEV); } -- 1.8.0 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] extcon: of: Remove unnecessary function call by using the name of device_node 2014-03-18 12:04 ` [PATCH 1/2] extcon: of: Remove unnecessary function call by using the name of device_node Chanwoo Choi @ 2014-03-19 12:08 ` Kishon Vijay Abraham I 2014-03-20 2:22 ` Chanwoo Choi 0 siblings, 1 reply; 9+ messages in thread From: Kishon Vijay Abraham I @ 2014-03-19 12:08 UTC (permalink / raw) To: Chanwoo Choi, gregkh, balbi, myungjoo.ham Cc: linux-kernel, linux-usb, linux-omap Hi, On Tuesday 18 March 2014 05:34 PM, Chanwoo Choi wrote: > This patch remove unnecessary function call in of_extcon_get_extcon_dev() > by using the name of device_node structure. > > Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> > --- > drivers/extcon/of_extcon.c | 12 ++---------- > 1 file changed, 2 insertions(+), 10 deletions(-) > > diff --git a/drivers/extcon/of_extcon.c b/drivers/extcon/of_extcon.c > index 72173ec..0a29f82 100644 > --- a/drivers/extcon/of_extcon.c > +++ b/drivers/extcon/of_extcon.c > @@ -32,7 +32,6 @@ struct extcon_dev *of_extcon_get_extcon_dev(struct device *dev, int index) > { > struct device_node *node; > struct extcon_dev *edev; > - struct platform_device *extcon_parent_dev; > > if (!dev->of_node) { > dev_dbg(dev, "device does not have a device node entry\n"); > @@ -46,16 +45,9 @@ struct extcon_dev *of_extcon_get_extcon_dev(struct device *dev, int index) > return ERR_PTR(-ENODEV); > } > > - extcon_parent_dev = of_find_device_by_node(node); > - if (!extcon_parent_dev) { > - dev_dbg(dev, "unable to find device by node\n"); > - return ERR_PTR(-EPROBE_DEFER); > - } > - > - edev = extcon_get_extcon_dev(dev_name(&extcon_parent_dev->dev)); > + edev = extcon_get_extcon_dev(node->name); Since you no longer want to use device names I think you should add this too to warn users if they rely on using the device name. diff --git a/drivers/extcon/extcon-class.c b/drivers/extcon/extcon-class.c index bc4c789..025eb39 100644 --- a/drivers/extcon/extcon-class.c +++ b/drivers/extcon/extcon-class.c @@ -601,7 +601,6 @@ int extcon_dev_register(struct extcon_dev *edev) edev->dev.class = extcon_class; edev->dev.release = extcon_dev_release; - edev->name = edev->name ? edev->name : dev_name(edev->dev.parent); //The user should always pass the 'name' as we no longer use device name while getting extcon device. And this name should also be the 'node' name? if (IS_ERR_OR_NULL(edev->name)) { dev_err(&edev->dev, "extcon device name is null\n"); Btw changing to node name from device name breaks dwc3 in OMAP5 and you would need this too.. diff --git a/drivers/extcon/extcon-palmas.c b/drivers/extcon/extcon-palmas.c index 2aea4bc..cea8cd3 100644 --- a/drivers/extcon/extcon-palmas.c +++ b/drivers/extcon/extcon-palmas.c @@ -188,6 +188,7 @@ static int palmas_usb_probe(struct platform_device *pdev) palmas_usb->edev.supported_cable = palmas_extcon_cable; palmas_usb->edev.dev.parent = palmas_usb->dev; + palmas_usb->edev.name = "palmas_usb"; palmas_usb->edev.mutually_exclusive = mutually_exclusive; status = extcon_dev_register(&palmas_usb->edev); Cheers Kishon ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] extcon: of: Remove unnecessary function call by using the name of device_node 2014-03-19 12:08 ` Kishon Vijay Abraham I @ 2014-03-20 2:22 ` Chanwoo Choi [not found] ` <532A50CD.7030601-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> 0 siblings, 1 reply; 9+ messages in thread From: Chanwoo Choi @ 2014-03-20 2:22 UTC (permalink / raw) To: Kishon Vijay Abraham I Cc: gregkh, balbi, myungjoo.ham, linux-kernel, linux-usb, linux-omap Hi, On 03/19/2014 09:08 PM, Kishon Vijay Abraham I wrote: > Hi, > > On Tuesday 18 March 2014 05:34 PM, Chanwoo Choi wrote: >> This patch remove unnecessary function call in of_extcon_get_extcon_dev() >> by using the name of device_node structure. >> >> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> >> --- >> drivers/extcon/of_extcon.c | 12 ++---------- >> 1 file changed, 2 insertions(+), 10 deletions(-) >> >> diff --git a/drivers/extcon/of_extcon.c b/drivers/extcon/of_extcon.c >> index 72173ec..0a29f82 100644 >> --- a/drivers/extcon/of_extcon.c >> +++ b/drivers/extcon/of_extcon.c >> @@ -32,7 +32,6 @@ struct extcon_dev *of_extcon_get_extcon_dev(struct device *dev, int index) >> { >> struct device_node *node; >> struct extcon_dev *edev; >> - struct platform_device *extcon_parent_dev; >> >> if (!dev->of_node) { >> dev_dbg(dev, "device does not have a device node entry\n"); >> @@ -46,16 +45,9 @@ struct extcon_dev *of_extcon_get_extcon_dev(struct device *dev, int index) >> return ERR_PTR(-ENODEV); >> } >> >> - extcon_parent_dev = of_find_device_by_node(node); >> - if (!extcon_parent_dev) { >> - dev_dbg(dev, "unable to find device by node\n"); >> - return ERR_PTR(-EPROBE_DEFER); >> - } >> - >> - edev = extcon_get_extcon_dev(dev_name(&extcon_parent_dev->dev)); >> + edev = extcon_get_extcon_dev(node->name); > > Since you no longer want to use device names I think you should add this too to > warn users if they rely on using the device name. Previous of_extcon_get_extcon_dev() support only platform device using of_find_device_by_node. If extcon device is based on i2c/spi/pci and so on, of_extcon_get_extcon_dev() can't find device instance for device name. So, I change device name from the name of platform device to the name of dt node. > diff --git a/drivers/extcon/extcon-class.c b/drivers/extcon/extcon-class.c > index bc4c789..025eb39 100644 > --- a/drivers/extcon/extcon-class.c > +++ b/drivers/extcon/extcon-class.c > @@ -601,7 +601,6 @@ int extcon_dev_register(struct extcon_dev *edev) > edev->dev.class = extcon_class; > edev->dev.release = extcon_dev_release; > > - edev->name = edev->name ? edev->name : dev_name(edev->dev.parent); > //The user should always pass the 'name' as we no longer use device name while > getting extcon device. And this name should also be the 'node' name? > if (IS_ERR_OR_NULL(edev->name)) { > dev_err(&edev->dev, > "extcon device name is null\n"); > > Btw changing to node name from device name breaks dwc3 in OMAP5 and you would > need this too.. > > diff --git a/drivers/extcon/extcon-palmas.c b/drivers/extcon/extcon-palmas.c > index 2aea4bc..cea8cd3 100644 > --- a/drivers/extcon/extcon-palmas.c > +++ b/drivers/extcon/extcon-palmas.c > @@ -188,6 +188,7 @@ static int palmas_usb_probe(struct platform_device *pdev) > > palmas_usb->edev.supported_cable = palmas_extcon_cable; > palmas_usb->edev.dev.parent = palmas_usb->dev; > + palmas_usb->edev.name = "palmas_usb"; > palmas_usb->edev.mutually_exclusive = mutually_exclusive; > > status = extcon_dev_register(&palmas_usb->edev); > > Cheers > Kishon > If node name is same as extcon device name, don't need some modification. Also, you can modify node name in some OMAP dts file insead of modification of extcon-palmas.c Thanks, Chanwoo Choi ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <532A50CD.7030601-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>]
* Re: [PATCH 1/2] extcon: of: Remove unnecessary function call by using the name of device_node [not found] ` <532A50CD.7030601-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> @ 2014-03-20 5:20 ` Kishon Vijay Abraham I 2014-03-20 6:56 ` Chanwoo Choi 0 siblings, 1 reply; 9+ messages in thread From: Kishon Vijay Abraham I @ 2014-03-20 5:20 UTC (permalink / raw) To: Chanwoo Choi Cc: gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r, balbi-l0cyMroinI0, myungjoo.ham-Sze3O3UU22JBDgjK7y7TUQ, linux-kernel-u79uwXL29TY76Z2rM5mHXA, linux-usb-u79uwXL29TY76Z2rM5mHXA, linux-omap-u79uwXL29TY76Z2rM5mHXA Hi, On Thursday 20 March 2014 07:52 AM, Chanwoo Choi wrote: > Hi, > > On 03/19/2014 09:08 PM, Kishon Vijay Abraham I wrote: >> Hi, >> >> On Tuesday 18 March 2014 05:34 PM, Chanwoo Choi wrote: >>> This patch remove unnecessary function call in of_extcon_get_extcon_dev() >>> by using the name of device_node structure. >>> >>> Signed-off-by: Chanwoo Choi <cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> >>> --- >>> drivers/extcon/of_extcon.c | 12 ++---------- >>> 1 file changed, 2 insertions(+), 10 deletions(-) >>> >>> diff --git a/drivers/extcon/of_extcon.c b/drivers/extcon/of_extcon.c >>> index 72173ec..0a29f82 100644 >>> --- a/drivers/extcon/of_extcon.c >>> +++ b/drivers/extcon/of_extcon.c >>> @@ -32,7 +32,6 @@ struct extcon_dev *of_extcon_get_extcon_dev(struct device *dev, int index) >>> { >>> struct device_node *node; >>> struct extcon_dev *edev; >>> - struct platform_device *extcon_parent_dev; >>> >>> if (!dev->of_node) { >>> dev_dbg(dev, "device does not have a device node entry\n"); >>> @@ -46,16 +45,9 @@ struct extcon_dev *of_extcon_get_extcon_dev(struct device *dev, int index) >>> return ERR_PTR(-ENODEV); >>> } >>> >>> - extcon_parent_dev = of_find_device_by_node(node); >>> - if (!extcon_parent_dev) { >>> - dev_dbg(dev, "unable to find device by node\n"); >>> - return ERR_PTR(-EPROBE_DEFER); >>> - } >>> - >>> - edev = extcon_get_extcon_dev(dev_name(&extcon_parent_dev->dev)); >>> + edev = extcon_get_extcon_dev(node->name); >> >> Since you no longer want to use device names I think you should add this too to >> warn users if they rely on using the device name. > > Previous of_extcon_get_extcon_dev() support only platform device using of_find_device_by_node. > > If extcon device is based on i2c/spi/pci and so on, of_extcon_get_extcon_dev() can't > find device instance for device name. So, I change device name from the name of platform device > to the name of dt node. That's fine. But we have to fix extcon_dev_register() too, to not use device names right? We have to warn extcon users not to use device names right? > > >> diff --git a/drivers/extcon/extcon-class.c b/drivers/extcon/extcon-class.c >> index bc4c789..025eb39 100644 >> --- a/drivers/extcon/extcon-class.c >> +++ b/drivers/extcon/extcon-class.c >> @@ -601,7 +601,6 @@ int extcon_dev_register(struct extcon_dev *edev) >> edev->dev.class = extcon_class; >> edev->dev.release = extcon_dev_release; >> >> - edev->name = edev->name ? edev->name : dev_name(edev->dev.parent); >> //The user should always pass the 'name' as we no longer use device name while >> getting extcon device. And this name should also be the 'node' name? >> if (IS_ERR_OR_NULL(edev->name)) { >> dev_err(&edev->dev, >> "extcon device name is null\n"); >> >> Btw changing to node name from device name breaks dwc3 in OMAP5 and you would >> need this too.. >> >> diff --git a/drivers/extcon/extcon-palmas.c b/drivers/extcon/extcon-palmas.c >> index 2aea4bc..cea8cd3 100644 >> --- a/drivers/extcon/extcon-palmas.c >> +++ b/drivers/extcon/extcon-palmas.c >> @@ -188,6 +188,7 @@ static int palmas_usb_probe(struct platform_device *pdev) >> >> palmas_usb->edev.supported_cable = palmas_extcon_cable; >> palmas_usb->edev.dev.parent = palmas_usb->dev; >> + palmas_usb->edev.name = "palmas_usb"; >> palmas_usb->edev.mutually_exclusive = mutually_exclusive; >> >> status = extcon_dev_register(&palmas_usb->edev); >> >> Cheers >> Kishon >> > > If node name is same as extcon device name, don't need some modification. > Also, you can modify node name in some OMAP dts file insead of modification of extcon-palmas.c node name in OMAP dts is already 'palmas_usb'. But since we were not setting 'edev.name' in extcon-palmas.c, extcon_dev_register used device name of palmas (palmas_usb.7 in my case). So extcon-palmas.c needs the fix. Cheers Kishon -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] extcon: of: Remove unnecessary function call by using the name of device_node 2014-03-20 5:20 ` Kishon Vijay Abraham I @ 2014-03-20 6:56 ` Chanwoo Choi 2014-03-20 8:42 ` Kishon Vijay Abraham I 0 siblings, 1 reply; 9+ messages in thread From: Chanwoo Choi @ 2014-03-20 6:56 UTC (permalink / raw) To: Kishon Vijay Abraham I Cc: gregkh, balbi, myungjoo.ham, linux-kernel, linux-usb, linux-omap Hi, On 03/20/2014 02:20 PM, Kishon Vijay Abraham I wrote: > Hi, > > On Thursday 20 March 2014 07:52 AM, Chanwoo Choi wrote: >> Hi, >> >> On 03/19/2014 09:08 PM, Kishon Vijay Abraham I wrote: >>> Hi, >>> >>> On Tuesday 18 March 2014 05:34 PM, Chanwoo Choi wrote: >>>> This patch remove unnecessary function call in of_extcon_get_extcon_dev() >>>> by using the name of device_node structure. >>>> >>>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> >>>> --- >>>> drivers/extcon/of_extcon.c | 12 ++---------- >>>> 1 file changed, 2 insertions(+), 10 deletions(-) >>>> >>>> diff --git a/drivers/extcon/of_extcon.c b/drivers/extcon/of_extcon.c >>>> index 72173ec..0a29f82 100644 >>>> --- a/drivers/extcon/of_extcon.c >>>> +++ b/drivers/extcon/of_extcon.c >>>> @@ -32,7 +32,6 @@ struct extcon_dev *of_extcon_get_extcon_dev(struct device *dev, int index) >>>> { >>>> struct device_node *node; >>>> struct extcon_dev *edev; >>>> - struct platform_device *extcon_parent_dev; >>>> >>>> if (!dev->of_node) { >>>> dev_dbg(dev, "device does not have a device node entry\n"); >>>> @@ -46,16 +45,9 @@ struct extcon_dev *of_extcon_get_extcon_dev(struct device *dev, int index) >>>> return ERR_PTR(-ENODEV); >>>> } >>>> >>>> - extcon_parent_dev = of_find_device_by_node(node); >>>> - if (!extcon_parent_dev) { >>>> - dev_dbg(dev, "unable to find device by node\n"); >>>> - return ERR_PTR(-EPROBE_DEFER); >>>> - } >>>> - >>>> - edev = extcon_get_extcon_dev(dev_name(&extcon_parent_dev->dev)); >>>> + edev = extcon_get_extcon_dev(node->name); >>> >>> Since you no longer want to use device names I think you should add this too to >>> warn users if they rely on using the device name. >> >> Previous of_extcon_get_extcon_dev() support only platform device using of_find_device_by_node. >> >> If extcon device is based on i2c/spi/pci and so on, of_extcon_get_extcon_dev() can't >> find device instance for device name. So, I change device name from the name of platform device >> to the name of dt node. > > That's fine. But we have to fix extcon_dev_register() too, to not use device > names right? We have to warn extcon users not to use device names right? I don't think so. extcon_get_edev_by_phandle() shows wrong node->name as following: The consumer could detect the cause of problem which can't get extcon device after checking error log message. edev = extcon_get_extcon_dev(node->name); if (!edev) { dev_err(dev, "unable to get extcon device : %s\n", node->name); return ERR_PTR(-ENODEV); } I don't want to add more log message. >> >> >>> diff --git a/drivers/extcon/extcon-class.c b/drivers/extcon/extcon-class.c >>> index bc4c789..025eb39 100644 >>> --- a/drivers/extcon/extcon-class.c >>> +++ b/drivers/extcon/extcon-class.c >>> @@ -601,7 +601,6 @@ int extcon_dev_register(struct extcon_dev *edev) >>> edev->dev.class = extcon_class; >>> edev->dev.release = extcon_dev_release; >>> >>> - edev->name = edev->name ? edev->name : dev_name(edev->dev.parent); >>> //The user should always pass the 'name' as we no longer use device name while >>> getting extcon device. And this name should also be the 'node' name? >>> if (IS_ERR_OR_NULL(edev->name)) { >>> dev_err(&edev->dev, >>> "extcon device name is null\n"); >>> >>> Btw changing to node name from device name breaks dwc3 in OMAP5 and you would >>> need this too.. >>> >>> diff --git a/drivers/extcon/extcon-palmas.c b/drivers/extcon/extcon-palmas.c >>> index 2aea4bc..cea8cd3 100644 >>> --- a/drivers/extcon/extcon-palmas.c >>> +++ b/drivers/extcon/extcon-palmas.c >>> @@ -188,6 +188,7 @@ static int palmas_usb_probe(struct platform_device *pdev) >>> >>> palmas_usb->edev.supported_cable = palmas_extcon_cable; >>> palmas_usb->edev.dev.parent = palmas_usb->dev; >>> + palmas_usb->edev.name = "palmas_usb"; >>> palmas_usb->edev.mutually_exclusive = mutually_exclusive; >>> >>> status = extcon_dev_register(&palmas_usb->edev); >>> >>> Cheers >>> Kishon >>> >> >> If node name is same as extcon device name, don't need some modification. >> Also, you can modify node name in some OMAP dts file insead of modification of extcon-palmas.c > > node name in OMAP dts is already 'palmas_usb'. But since we were not setting > 'edev.name' in extcon-palmas.c, extcon_dev_register used device name of palmas > (palmas_usb.7 in my case). So extcon-palmas.c needs the fix. For example, I used extcon provider/consumer driver in dts as following: extcon-max14577.c set device name as edev->name and then dt node name of max14577 set "max14577-muic" which is same as device name(dev_name(&pdev->dev)). I don't need to modify extcon-max14577.c In drivers/extcon/extcon-max14577.c ... info->edev->name = dev_name(&pdev->dev); ... In dts. i2c@13880000 { ..... max14577@25 { ..... muic: max14577-muic { compatible = "maxim,max14577-muic"; }; .... }; }; hsotg@12480000 { ..... extcon = <&muic>; }; Thanks, Chanwoo Choi ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] extcon: of: Remove unnecessary function call by using the name of device_node 2014-03-20 6:56 ` Chanwoo Choi @ 2014-03-20 8:42 ` Kishon Vijay Abraham I 0 siblings, 0 replies; 9+ messages in thread From: Kishon Vijay Abraham I @ 2014-03-20 8:42 UTC (permalink / raw) To: Chanwoo Choi Cc: gregkh, balbi, myungjoo.ham, linux-kernel, linux-usb, linux-omap Hi, On Thursday 20 March 2014 12:26 PM, Chanwoo Choi wrote: > Hi, > > On 03/20/2014 02:20 PM, Kishon Vijay Abraham I wrote: >> Hi, >> >> On Thursday 20 March 2014 07:52 AM, Chanwoo Choi wrote: >>> Hi, >>> >>> On 03/19/2014 09:08 PM, Kishon Vijay Abraham I wrote: >>>> Hi, >>>> >>>> On Tuesday 18 March 2014 05:34 PM, Chanwoo Choi wrote: >>>>> This patch remove unnecessary function call in of_extcon_get_extcon_dev() >>>>> by using the name of device_node structure. >>>>> >>>>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> >>>>> --- >>>>> drivers/extcon/of_extcon.c | 12 ++---------- >>>>> 1 file changed, 2 insertions(+), 10 deletions(-) >>>>> >>>>> diff --git a/drivers/extcon/of_extcon.c b/drivers/extcon/of_extcon.c >>>>> index 72173ec..0a29f82 100644 >>>>> --- a/drivers/extcon/of_extcon.c >>>>> +++ b/drivers/extcon/of_extcon.c >>>>> @@ -32,7 +32,6 @@ struct extcon_dev *of_extcon_get_extcon_dev(struct device *dev, int index) >>>>> { >>>>> struct device_node *node; >>>>> struct extcon_dev *edev; >>>>> - struct platform_device *extcon_parent_dev; >>>>> >>>>> if (!dev->of_node) { >>>>> dev_dbg(dev, "device does not have a device node entry\n"); >>>>> @@ -46,16 +45,9 @@ struct extcon_dev *of_extcon_get_extcon_dev(struct device *dev, int index) >>>>> return ERR_PTR(-ENODEV); >>>>> } >>>>> >>>>> - extcon_parent_dev = of_find_device_by_node(node); >>>>> - if (!extcon_parent_dev) { >>>>> - dev_dbg(dev, "unable to find device by node\n"); >>>>> - return ERR_PTR(-EPROBE_DEFER); >>>>> - } >>>>> - >>>>> - edev = extcon_get_extcon_dev(dev_name(&extcon_parent_dev->dev)); >>>>> + edev = extcon_get_extcon_dev(node->name); >>>> >>>> Since you no longer want to use device names I think you should add this too to >>>> warn users if they rely on using the device name. >>> >>> Previous of_extcon_get_extcon_dev() support only platform device using of_find_device_by_node. >>> >>> If extcon device is based on i2c/spi/pci and so on, of_extcon_get_extcon_dev() can't >>> find device instance for device name. So, I change device name from the name of platform device >>> to the name of dt node. >> >> That's fine. But we have to fix extcon_dev_register() too, to not use device >> names right? We have to warn extcon users not to use device names right? > > I don't think so. extcon_get_edev_by_phandle() shows wrong node->name as following: The wrong node->name was given by the extcon provider but the error is being reported in the consumer. > The consumer could detect the cause of problem which can't get extcon device after > checking error log message. > > edev = extcon_get_extcon_dev(node->name); > if (!edev) { > dev_err(dev, "unable to get extcon device : %s\n", node->name); > return ERR_PTR(-ENODEV); > } > > I don't want to add more log message. I'm not sure if that log message is helpful in anyway to identify the problem was because of the wrong node->name. > >>> >>> >>>> diff --git a/drivers/extcon/extcon-class.c b/drivers/extcon/extcon-class.c >>>> index bc4c789..025eb39 100644 >>>> --- a/drivers/extcon/extcon-class.c >>>> +++ b/drivers/extcon/extcon-class.c >>>> @@ -601,7 +601,6 @@ int extcon_dev_register(struct extcon_dev *edev) >>>> edev->dev.class = extcon_class; >>>> edev->dev.release = extcon_dev_release; >>>> >>>> - edev->name = edev->name ? edev->name : dev_name(edev->dev.parent); >>>> //The user should always pass the 'name' as we no longer use device name while >>>> getting extcon device. And this name should also be the 'node' name? >>>> if (IS_ERR_OR_NULL(edev->name)) { >>>> dev_err(&edev->dev, >>>> "extcon device name is null\n"); >>>> >>>> Btw changing to node name from device name breaks dwc3 in OMAP5 and you would >>>> need this too.. >>>> >>>> diff --git a/drivers/extcon/extcon-palmas.c b/drivers/extcon/extcon-palmas.c >>>> index 2aea4bc..cea8cd3 100644 >>>> --- a/drivers/extcon/extcon-palmas.c >>>> +++ b/drivers/extcon/extcon-palmas.c >>>> @@ -188,6 +188,7 @@ static int palmas_usb_probe(struct platform_device *pdev) >>>> >>>> palmas_usb->edev.supported_cable = palmas_extcon_cable; >>>> palmas_usb->edev.dev.parent = palmas_usb->dev; >>>> + palmas_usb->edev.name = "palmas_usb"; >>>> palmas_usb->edev.mutually_exclusive = mutually_exclusive; >>>> >>>> status = extcon_dev_register(&palmas_usb->edev); >>>> >>>> Cheers >>>> Kishon >>>> >>> >>> If node name is same as extcon device name, don't need some modification. >>> Also, you can modify node name in some OMAP dts file insead of modification of extcon-palmas.c >> >> node name in OMAP dts is already 'palmas_usb'. But since we were not setting >> 'edev.name' in extcon-palmas.c, extcon_dev_register used device name of palmas >> (palmas_usb.7 in my case). So extcon-palmas.c needs the fix. > > For example, > I used extcon provider/consumer driver in dts as following: > extcon-max14577.c set device name as edev->name and then dt node name of max14577 > set "max14577-muic" which is same as device name(dev_name(&pdev->dev)). > > I don't need to modify extcon-max14577.c > > In drivers/extcon/extcon-max14577.c > ... > info->edev->name = dev_name(&pdev->dev); dev_name need not be same as node name in all cases. -Kishon ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 2/2] extcon: Move OF helper function to extcon core and change function name 2014-03-18 12:04 [PATCH 0/2] extcon: of: Update OF helper function Chanwoo Choi 2014-03-18 12:04 ` [PATCH 1/2] extcon: of: Remove unnecessary function call by using the name of device_node Chanwoo Choi @ 2014-03-18 12:04 ` Chanwoo Choi 2014-03-18 15:54 ` Felipe Balbi 1 sibling, 1 reply; 9+ messages in thread From: Chanwoo Choi @ 2014-03-18 12:04 UTC (permalink / raw) To: gregkh, balbi, myungjoo.ham Cc: kishon, linux-kernel, linux-usb, linux-omap, Chanwoo Choi This patch move simply OF helper function to extcon core and change function name as following: - of_extcon_get_extcon_dev() -> extcon_get_edev_by_phandle() Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> --- drivers/extcon/Kconfig | 4 --- drivers/extcon/Makefile | 2 -- drivers/extcon/extcon-class.c | 43 ++++++++++++++++++++++++++++++ drivers/extcon/of_extcon.c | 56 ---------------------------------------- drivers/usb/dwc3/dwc3-omap.c | 3 +-- include/linux/extcon.h | 12 +++++++++ include/linux/extcon/of_extcon.h | 31 ---------------------- 7 files changed, 56 insertions(+), 95 deletions(-) delete mode 100644 drivers/extcon/of_extcon.c delete mode 100644 include/linux/extcon/of_extcon.h diff --git a/drivers/extcon/Kconfig b/drivers/extcon/Kconfig index bdb5a00..be56e8a 100644 --- a/drivers/extcon/Kconfig +++ b/drivers/extcon/Kconfig @@ -14,10 +14,6 @@ if EXTCON comment "Extcon Device Drivers" -config OF_EXTCON - def_tristate y - depends on OF - config EXTCON_GPIO tristate "GPIO extcon support" depends on GPIOLIB diff --git a/drivers/extcon/Makefile b/drivers/extcon/Makefile index 43eccc0..bf7861e 100644 --- a/drivers/extcon/Makefile +++ b/drivers/extcon/Makefile @@ -2,8 +2,6 @@ # Makefile for external connector class (extcon) devices # -obj-$(CONFIG_OF_EXTCON) += of_extcon.o - obj-$(CONFIG_EXTCON) += extcon-class.o obj-$(CONFIG_EXTCON_GPIO) += extcon-gpio.o obj-$(CONFIG_EXTCON_ADC_JACK) += extcon-adc-jack.o diff --git a/drivers/extcon/extcon-class.c b/drivers/extcon/extcon-class.c index 7632233..bc4c789 100644 --- a/drivers/extcon/extcon-class.c +++ b/drivers/extcon/extcon-class.c @@ -31,6 +31,7 @@ #include <linux/extcon.h> #include <linux/slab.h> #include <linux/sysfs.h> +#include <linux/of.h> /* * extcon_cable_name suggests the standard cable names for commonly used @@ -818,6 +819,48 @@ void extcon_dev_unregister(struct extcon_dev *edev) } EXPORT_SYMBOL_GPL(extcon_dev_unregister); +#ifdef CONFIG_OF +/* + * extcon_get_edev_by_phandle - Get the extcon device from devicetree + * @dev - instance to the given device + * @index - index into list of extcon_dev + * + * return the instance of extcon device + */ +struct extcon_dev *extcon_get_edev_by_phandle(struct device *dev, int index) +{ + struct device_node *node; + struct extcon_dev *edev; + + if (!dev->of_node) { + dev_err(dev, "device does not have a device node entry\n"); + return ERR_PTR(-EINVAL); + } + + node = of_parse_phandle(dev->of_node, "extcon", index); + if (!node) { + dev_err(dev, "failed to get phandle in %s node\n", + dev->of_node->full_name); + return ERR_PTR(-ENODEV); + } + + edev = extcon_get_extcon_dev(node->name); + if (!edev) { + dev_err(dev, "unable to get extcon device : %s\n", node->name); + return ERR_PTR(-ENODEV); + } + + return edev; +} +#else +static inline struct extcon_dev *extcon_get_edev_by_phandle(struct device *dev, + int index) +{ + return ERR_PTR(-ENOSYS); +} +#endif /* CONFIG_OF */ +EXPORT_SYMBOL_GPL(extcon_get_edev_by_phandle); + static int __init extcon_class_init(void) { return create_extcon_class(); diff --git a/drivers/extcon/of_extcon.c b/drivers/extcon/of_extcon.c deleted file mode 100644 index 0a29f82..0000000 --- a/drivers/extcon/of_extcon.c +++ /dev/null @@ -1,56 +0,0 @@ -/* - * OF helpers for External connector (extcon) framework - * - * Copyright (C) 2013 Texas Instruments, Inc. - * Kishon Vijay Abraham I <kishon@ti.com> - * - * Copyright (C) 2013 Samsung Electronics - * Chanwoo Choi <cw00.choi@samsung.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - */ - -#include <linux/module.h> -#include <linux/slab.h> -#include <linux/err.h> -#include <linux/extcon.h> -#include <linux/of.h> -#include <linux/of_platform.h> -#include <linux/extcon/of_extcon.h> - -/* - * of_extcon_get_extcon_dev - Get the name of extcon device from devicetree - * @dev - instance to the given device - * @index - index into list of extcon_dev - * - * return the instance of extcon device - */ -struct extcon_dev *of_extcon_get_extcon_dev(struct device *dev, int index) -{ - struct device_node *node; - struct extcon_dev *edev; - - if (!dev->of_node) { - dev_dbg(dev, "device does not have a device node entry\n"); - return ERR_PTR(-EINVAL); - } - - node = of_parse_phandle(dev->of_node, "extcon", index); - if (!node) { - dev_dbg(dev, "failed to get phandle in %s node\n", - dev->of_node->full_name); - return ERR_PTR(-ENODEV); - } - - edev = extcon_get_extcon_dev(node->name); - if (!edev) { - dev_dbg(dev, "unable to get extcon device : %s\n", node->name); - return ERR_PTR(-ENODEV); - } - - return edev; -} -EXPORT_SYMBOL_GPL(of_extcon_get_extcon_dev); diff --git a/drivers/usb/dwc3/dwc3-omap.c b/drivers/usb/dwc3/dwc3-omap.c index b269dbd..b1d7ee6 100644 --- a/drivers/usb/dwc3/dwc3-omap.c +++ b/drivers/usb/dwc3/dwc3-omap.c @@ -29,7 +29,6 @@ #include <linux/of.h> #include <linux/of_platform.h> #include <linux/extcon.h> -#include <linux/extcon/of_extcon.h> #include <linux/regulator/consumer.h> #include <linux/usb/otg.h> @@ -522,7 +521,7 @@ static int dwc3_omap_probe(struct platform_device *pdev) dwc3_omap_enable_irqs(omap); if (of_property_read_bool(node, "extcon")) { - edev = of_extcon_get_extcon_dev(dev, 0); + edev = extcon_get_edev_by_phandle(dev, 0); if (IS_ERR(edev)) { dev_vdbg(dev, "couldn't get extcon device\n"); ret = -EPROBE_DEFER; diff --git a/include/linux/extcon.h b/include/linux/extcon.h index 21c59af..f488145 100644 --- a/include/linux/extcon.h +++ b/include/linux/extcon.h @@ -240,6 +240,12 @@ extern int extcon_register_notifier(struct extcon_dev *edev, struct notifier_block *nb); extern int extcon_unregister_notifier(struct extcon_dev *edev, struct notifier_block *nb); + +/* + * Following API get the extcon device from devicetree. + * This function use phandle of devicetree to get extcon device directly. + */ +extern struct extcon_dev *extcon_get_edev_by_phandle(struct device *dev, int index); #else /* CONFIG_EXTCON */ static inline int extcon_dev_register(struct extcon_dev *edev) { @@ -324,5 +330,11 @@ static inline int extcon_unregister_interest(struct extcon_specific_cable_nb { return 0; } + +static inline struct extcon_dev *extcon_get_edev_by_phandle(struct device *dev, + int index) +{ + return ERR_PTR(-ENODEV); +} #endif /* CONFIG_EXTCON */ #endif /* __LINUX_EXTCON_H__ */ diff --git a/include/linux/extcon/of_extcon.h b/include/linux/extcon/of_extcon.h deleted file mode 100644 index 0ebfeff..0000000 --- a/include/linux/extcon/of_extcon.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * OF helpers for External connector (extcon) framework - * - * Copyright (C) 2013 Texas Instruments, Inc. - * Kishon Vijay Abraham I <kishon@ti.com> - * - * Copyright (C) 2013 Samsung Electronics - * Chanwoo Choi <cw00.choi@samsung.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - */ - -#ifndef __LINUX_OF_EXTCON_H -#define __LINUX_OF_EXTCON_H - -#include <linux/err.h> - -#if IS_ENABLED(CONFIG_OF_EXTCON) -extern struct extcon_dev - *of_extcon_get_extcon_dev(struct device *dev, int index); -#else -static inline struct extcon_dev - *of_extcon_get_extcon_dev(struct device *dev, int index) -{ - return ERR_PTR(-ENOSYS); -} -#endif /* CONFIG_OF_EXTCON */ -#endif /* __LINUX_OF_EXTCON_H */ -- 1.8.0 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] extcon: Move OF helper function to extcon core and change function name 2014-03-18 12:04 ` [PATCH 2/2] extcon: Move OF helper function to extcon core and change function name Chanwoo Choi @ 2014-03-18 15:54 ` Felipe Balbi 0 siblings, 0 replies; 9+ messages in thread From: Felipe Balbi @ 2014-03-18 15:54 UTC (permalink / raw) To: Chanwoo Choi Cc: gregkh, balbi, myungjoo.ham, kishon, linux-kernel, linux-usb, linux-omap [-- Attachment #1: Type: text/plain, Size: 8701 bytes --] Hi, On Tue, Mar 18, 2014 at 09:04:40PM +0900, Chanwoo Choi wrote: > This patch move simply OF helper function to extcon core and change function > name as following: > - of_extcon_get_extcon_dev() -> extcon_get_edev_by_phandle() > > Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> > --- > drivers/extcon/Kconfig | 4 --- > drivers/extcon/Makefile | 2 -- > drivers/extcon/extcon-class.c | 43 ++++++++++++++++++++++++++++++ > drivers/extcon/of_extcon.c | 56 ---------------------------------------- > drivers/usb/dwc3/dwc3-omap.c | 3 +-- for dwc3: Acked-by: Felipe Balbi <balbi@ti.com> > include/linux/extcon.h | 12 +++++++++ > include/linux/extcon/of_extcon.h | 31 ---------------------- > 7 files changed, 56 insertions(+), 95 deletions(-) > delete mode 100644 drivers/extcon/of_extcon.c > delete mode 100644 include/linux/extcon/of_extcon.h > > diff --git a/drivers/extcon/Kconfig b/drivers/extcon/Kconfig > index bdb5a00..be56e8a 100644 > --- a/drivers/extcon/Kconfig > +++ b/drivers/extcon/Kconfig > @@ -14,10 +14,6 @@ if EXTCON > > comment "Extcon Device Drivers" > > -config OF_EXTCON > - def_tristate y > - depends on OF > - > config EXTCON_GPIO > tristate "GPIO extcon support" > depends on GPIOLIB > diff --git a/drivers/extcon/Makefile b/drivers/extcon/Makefile > index 43eccc0..bf7861e 100644 > --- a/drivers/extcon/Makefile > +++ b/drivers/extcon/Makefile > @@ -2,8 +2,6 @@ > # Makefile for external connector class (extcon) devices > # > > -obj-$(CONFIG_OF_EXTCON) += of_extcon.o > - > obj-$(CONFIG_EXTCON) += extcon-class.o > obj-$(CONFIG_EXTCON_GPIO) += extcon-gpio.o > obj-$(CONFIG_EXTCON_ADC_JACK) += extcon-adc-jack.o > diff --git a/drivers/extcon/extcon-class.c b/drivers/extcon/extcon-class.c > index 7632233..bc4c789 100644 > --- a/drivers/extcon/extcon-class.c > +++ b/drivers/extcon/extcon-class.c > @@ -31,6 +31,7 @@ > #include <linux/extcon.h> > #include <linux/slab.h> > #include <linux/sysfs.h> > +#include <linux/of.h> > > /* > * extcon_cable_name suggests the standard cable names for commonly used > @@ -818,6 +819,48 @@ void extcon_dev_unregister(struct extcon_dev *edev) > } > EXPORT_SYMBOL_GPL(extcon_dev_unregister); > > +#ifdef CONFIG_OF > +/* > + * extcon_get_edev_by_phandle - Get the extcon device from devicetree > + * @dev - instance to the given device > + * @index - index into list of extcon_dev > + * > + * return the instance of extcon device > + */ > +struct extcon_dev *extcon_get_edev_by_phandle(struct device *dev, int index) > +{ > + struct device_node *node; > + struct extcon_dev *edev; > + > + if (!dev->of_node) { > + dev_err(dev, "device does not have a device node entry\n"); > + return ERR_PTR(-EINVAL); > + } > + > + node = of_parse_phandle(dev->of_node, "extcon", index); > + if (!node) { > + dev_err(dev, "failed to get phandle in %s node\n", > + dev->of_node->full_name); > + return ERR_PTR(-ENODEV); > + } > + > + edev = extcon_get_extcon_dev(node->name); > + if (!edev) { > + dev_err(dev, "unable to get extcon device : %s\n", node->name); > + return ERR_PTR(-ENODEV); > + } > + > + return edev; > +} > +#else > +static inline struct extcon_dev *extcon_get_edev_by_phandle(struct device *dev, > + int index) > +{ > + return ERR_PTR(-ENOSYS); > +} > +#endif /* CONFIG_OF */ > +EXPORT_SYMBOL_GPL(extcon_get_edev_by_phandle); > + > static int __init extcon_class_init(void) > { > return create_extcon_class(); > diff --git a/drivers/extcon/of_extcon.c b/drivers/extcon/of_extcon.c > deleted file mode 100644 > index 0a29f82..0000000 > --- a/drivers/extcon/of_extcon.c > +++ /dev/null > @@ -1,56 +0,0 @@ > -/* > - * OF helpers for External connector (extcon) framework > - * > - * Copyright (C) 2013 Texas Instruments, Inc. > - * Kishon Vijay Abraham I <kishon@ti.com> > - * > - * Copyright (C) 2013 Samsung Electronics > - * Chanwoo Choi <cw00.choi@samsung.com> > - * > - * This program is free software; you can redistribute it and/or modify > - * it under the terms of the GNU General Public License as published by > - * the Free Software Foundation; either version 2 of the License, or > - * (at your option) any later version. > - */ > - > -#include <linux/module.h> > -#include <linux/slab.h> > -#include <linux/err.h> > -#include <linux/extcon.h> > -#include <linux/of.h> > -#include <linux/of_platform.h> > -#include <linux/extcon/of_extcon.h> > - > -/* > - * of_extcon_get_extcon_dev - Get the name of extcon device from devicetree > - * @dev - instance to the given device > - * @index - index into list of extcon_dev > - * > - * return the instance of extcon device > - */ > -struct extcon_dev *of_extcon_get_extcon_dev(struct device *dev, int index) > -{ > - struct device_node *node; > - struct extcon_dev *edev; > - > - if (!dev->of_node) { > - dev_dbg(dev, "device does not have a device node entry\n"); > - return ERR_PTR(-EINVAL); > - } > - > - node = of_parse_phandle(dev->of_node, "extcon", index); > - if (!node) { > - dev_dbg(dev, "failed to get phandle in %s node\n", > - dev->of_node->full_name); > - return ERR_PTR(-ENODEV); > - } > - > - edev = extcon_get_extcon_dev(node->name); > - if (!edev) { > - dev_dbg(dev, "unable to get extcon device : %s\n", node->name); > - return ERR_PTR(-ENODEV); > - } > - > - return edev; > -} > -EXPORT_SYMBOL_GPL(of_extcon_get_extcon_dev); > diff --git a/drivers/usb/dwc3/dwc3-omap.c b/drivers/usb/dwc3/dwc3-omap.c > index b269dbd..b1d7ee6 100644 > --- a/drivers/usb/dwc3/dwc3-omap.c > +++ b/drivers/usb/dwc3/dwc3-omap.c > @@ -29,7 +29,6 @@ > #include <linux/of.h> > #include <linux/of_platform.h> > #include <linux/extcon.h> > -#include <linux/extcon/of_extcon.h> > #include <linux/regulator/consumer.h> > > #include <linux/usb/otg.h> > @@ -522,7 +521,7 @@ static int dwc3_omap_probe(struct platform_device *pdev) > dwc3_omap_enable_irqs(omap); > > if (of_property_read_bool(node, "extcon")) { > - edev = of_extcon_get_extcon_dev(dev, 0); > + edev = extcon_get_edev_by_phandle(dev, 0); > if (IS_ERR(edev)) { > dev_vdbg(dev, "couldn't get extcon device\n"); > ret = -EPROBE_DEFER; > diff --git a/include/linux/extcon.h b/include/linux/extcon.h > index 21c59af..f488145 100644 > --- a/include/linux/extcon.h > +++ b/include/linux/extcon.h > @@ -240,6 +240,12 @@ extern int extcon_register_notifier(struct extcon_dev *edev, > struct notifier_block *nb); > extern int extcon_unregister_notifier(struct extcon_dev *edev, > struct notifier_block *nb); > + > +/* > + * Following API get the extcon device from devicetree. > + * This function use phandle of devicetree to get extcon device directly. > + */ > +extern struct extcon_dev *extcon_get_edev_by_phandle(struct device *dev, int index); > #else /* CONFIG_EXTCON */ > static inline int extcon_dev_register(struct extcon_dev *edev) > { > @@ -324,5 +330,11 @@ static inline int extcon_unregister_interest(struct extcon_specific_cable_nb > { > return 0; > } > + > +static inline struct extcon_dev *extcon_get_edev_by_phandle(struct device *dev, > + int index) > +{ > + return ERR_PTR(-ENODEV); > +} > #endif /* CONFIG_EXTCON */ > #endif /* __LINUX_EXTCON_H__ */ > diff --git a/include/linux/extcon/of_extcon.h b/include/linux/extcon/of_extcon.h > deleted file mode 100644 > index 0ebfeff..0000000 > --- a/include/linux/extcon/of_extcon.h > +++ /dev/null > @@ -1,31 +0,0 @@ > -/* > - * OF helpers for External connector (extcon) framework > - * > - * Copyright (C) 2013 Texas Instruments, Inc. > - * Kishon Vijay Abraham I <kishon@ti.com> > - * > - * Copyright (C) 2013 Samsung Electronics > - * Chanwoo Choi <cw00.choi@samsung.com> > - * > - * This program is free software; you can redistribute it and/or modify > - * it under the terms of the GNU General Public License as published by > - * the Free Software Foundation; either version 2 of the License, or > - * (at your option) any later version. > - */ > - > -#ifndef __LINUX_OF_EXTCON_H > -#define __LINUX_OF_EXTCON_H > - > -#include <linux/err.h> > - > -#if IS_ENABLED(CONFIG_OF_EXTCON) > -extern struct extcon_dev > - *of_extcon_get_extcon_dev(struct device *dev, int index); > -#else > -static inline struct extcon_dev > - *of_extcon_get_extcon_dev(struct device *dev, int index) > -{ > - return ERR_PTR(-ENOSYS); > -} > -#endif /* CONFIG_OF_EXTCON */ > -#endif /* __LINUX_OF_EXTCON_H */ > -- > 1.8.0 > -- balbi [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2014-03-20 8:42 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-18 12:04 [PATCH 0/2] extcon: of: Update OF helper function Chanwoo Choi
2014-03-18 12:04 ` [PATCH 1/2] extcon: of: Remove unnecessary function call by using the name of device_node Chanwoo Choi
2014-03-19 12:08 ` Kishon Vijay Abraham I
2014-03-20 2:22 ` Chanwoo Choi
[not found] ` <532A50CD.7030601-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2014-03-20 5:20 ` Kishon Vijay Abraham I
2014-03-20 6:56 ` Chanwoo Choi
2014-03-20 8:42 ` Kishon Vijay Abraham I
2014-03-18 12:04 ` [PATCH 2/2] extcon: Move OF helper function to extcon core and change function name Chanwoo Choi
2014-03-18 15:54 ` Felipe Balbi
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).