extcon: Simplify extcon_dev_register() prototype by removing unnecessary parameter
This patch remove extcon_dev_register()'s second parameter which means the pointer of parent device to simplify prototype of this function. So, if extcon device has the parent device, it should set the pointer of parent device to edev.dev.parent in extcon device driver instead of in extcon_dev_register(). Cc: Graeme Gregory <gg@slimlogic.co.uk> Cc: Kishon Vijay Abraham I <kishon@ti.com> Cc: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Cc: Mark Brown <broonie@kernel.org> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
This commit is contained in:
parent
dae6165124
commit
42d7d7539a
9 changed files with 25 additions and 15 deletions
|
@ -25,8 +25,10 @@ MyungJoo Ham <myungjoo.ham@samsung.com>
|
||||||
@print_state: no change but type change (switch_dev->extcon_dev)
|
@print_state: no change but type change (switch_dev->extcon_dev)
|
||||||
|
|
||||||
- switch_dev_register(sdev, dev)
|
- switch_dev_register(sdev, dev)
|
||||||
=> extcon_dev_register(edev, dev)
|
=> extcon_dev_register(edev)
|
||||||
: no change but type change (sdev->edev)
|
: type change (sdev->edev)
|
||||||
|
: remove second param('dev'). if edev has parent device, should store
|
||||||
|
'dev' to 'edev.dev.parent' before registering extcon device
|
||||||
- switch_dev_unregister(sdev)
|
- switch_dev_unregister(sdev)
|
||||||
=> extcon_dev_unregister(edev)
|
=> extcon_dev_unregister(edev)
|
||||||
: no change but type change (sdev->edev)
|
: no change but type change (sdev->edev)
|
||||||
|
|
|
@ -110,6 +110,7 @@ static int adc_jack_probe(struct platform_device *pdev)
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
data->edev.dev.parent = &pdev->dev;
|
||||||
data->edev.supported_cable = pdata->cable_names;
|
data->edev.supported_cable = pdata->cable_names;
|
||||||
|
|
||||||
/* Check the length of array and set num_cables */
|
/* Check the length of array and set num_cables */
|
||||||
|
@ -148,7 +149,7 @@ static int adc_jack_probe(struct platform_device *pdev)
|
||||||
|
|
||||||
platform_set_drvdata(pdev, data);
|
platform_set_drvdata(pdev, data);
|
||||||
|
|
||||||
err = extcon_dev_register(&data->edev, &pdev->dev);
|
err = extcon_dev_register(&data->edev);
|
||||||
if (err)
|
if (err)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
|
|
@ -1130,9 +1130,10 @@ static int arizona_extcon_probe(struct platform_device *pdev)
|
||||||
}
|
}
|
||||||
|
|
||||||
info->edev.name = "Headset Jack";
|
info->edev.name = "Headset Jack";
|
||||||
|
info->edev.dev.parent = arizona->dev;
|
||||||
info->edev.supported_cable = arizona_cable;
|
info->edev.supported_cable = arizona_cable;
|
||||||
|
|
||||||
ret = extcon_dev_register(&info->edev, arizona->dev);
|
ret = extcon_dev_register(&info->edev);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
dev_err(arizona->dev, "extcon_dev_register() failed: %d\n",
|
dev_err(arizona->dev, "extcon_dev_register() failed: %d\n",
|
||||||
ret);
|
ret);
|
||||||
|
|
|
@ -566,14 +566,13 @@ static void dummy_sysfs_dev_release(struct device *dev)
|
||||||
/**
|
/**
|
||||||
* extcon_dev_register() - Register a new extcon device
|
* extcon_dev_register() - Register a new extcon device
|
||||||
* @edev : the new extcon device (should be allocated before calling)
|
* @edev : the new extcon device (should be allocated before calling)
|
||||||
* @dev : the parent device for this extcon device.
|
|
||||||
*
|
*
|
||||||
* Among the members of edev struct, please set the "user initializing data"
|
* Among the members of edev struct, please set the "user initializing data"
|
||||||
* in any case and set the "optional callbacks" if required. However, please
|
* in any case and set the "optional callbacks" if required. However, please
|
||||||
* do not set the values of "internal data", which are initialized by
|
* do not set the values of "internal data", which are initialized by
|
||||||
* this function.
|
* this function.
|
||||||
*/
|
*/
|
||||||
int extcon_dev_register(struct extcon_dev *edev, struct device *dev)
|
int extcon_dev_register(struct extcon_dev *edev)
|
||||||
{
|
{
|
||||||
int ret, index = 0;
|
int ret, index = 0;
|
||||||
|
|
||||||
|
@ -597,11 +596,15 @@ int extcon_dev_register(struct extcon_dev *edev, struct device *dev)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
edev->dev.parent = dev;
|
|
||||||
edev->dev.class = extcon_class;
|
edev->dev.class = extcon_class;
|
||||||
edev->dev.release = extcon_dev_release;
|
edev->dev.release = extcon_dev_release;
|
||||||
|
|
||||||
edev->name = edev->name ? edev->name : dev_name(dev);
|
edev->name = edev->name ? edev->name : dev_name(edev->dev.parent);
|
||||||
|
if (IS_ERR_OR_NULL(edev->name)) {
|
||||||
|
dev_err(&edev->dev,
|
||||||
|
"extcon device name is null\n");
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
dev_set_name(&edev->dev, "%s", edev->name);
|
dev_set_name(&edev->dev, "%s", edev->name);
|
||||||
|
|
||||||
if (edev->max_supported) {
|
if (edev->max_supported) {
|
||||||
|
|
|
@ -98,6 +98,7 @@ static int gpio_extcon_probe(struct platform_device *pdev)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
extcon_data->edev.name = pdata->name;
|
extcon_data->edev.name = pdata->name;
|
||||||
|
extcon_data->edev.dev.parent = &pdev->dev;
|
||||||
extcon_data->gpio = pdata->gpio;
|
extcon_data->gpio = pdata->gpio;
|
||||||
extcon_data->gpio_active_low = pdata->gpio_active_low;
|
extcon_data->gpio_active_low = pdata->gpio_active_low;
|
||||||
extcon_data->state_on = pdata->state_on;
|
extcon_data->state_on = pdata->state_on;
|
||||||
|
@ -112,7 +113,7 @@ static int gpio_extcon_probe(struct platform_device *pdev)
|
||||||
msecs_to_jiffies(pdata->debounce);
|
msecs_to_jiffies(pdata->debounce);
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = extcon_dev_register(&extcon_data->edev, &pdev->dev);
|
ret = extcon_dev_register(&extcon_data->edev);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
|
|
@ -1171,8 +1171,9 @@ static int max77693_muic_probe(struct platform_device *pdev)
|
||||||
goto err_irq;
|
goto err_irq;
|
||||||
}
|
}
|
||||||
info->edev->name = DEV_NAME;
|
info->edev->name = DEV_NAME;
|
||||||
|
info->edev->dev.parent = &pdev->dev;
|
||||||
info->edev->supported_cable = max77693_extcon_cable;
|
info->edev->supported_cable = max77693_extcon_cable;
|
||||||
ret = extcon_dev_register(info->edev, NULL);
|
ret = extcon_dev_register(info->edev);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(&pdev->dev, "failed to register extcon device\n");
|
dev_err(&pdev->dev, "failed to register extcon device\n");
|
||||||
goto err_irq;
|
goto err_irq;
|
||||||
|
|
|
@ -705,8 +705,9 @@ static int max8997_muic_probe(struct platform_device *pdev)
|
||||||
goto err_irq;
|
goto err_irq;
|
||||||
}
|
}
|
||||||
info->edev->name = DEV_NAME;
|
info->edev->name = DEV_NAME;
|
||||||
|
info->edev->dev.parent = &pdev->dev;
|
||||||
info->edev->supported_cable = max8997_extcon_cable;
|
info->edev->supported_cable = max8997_extcon_cable;
|
||||||
ret = extcon_dev_register(info->edev, NULL);
|
ret = extcon_dev_register(info->edev);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(&pdev->dev, "failed to register extcon device\n");
|
dev_err(&pdev->dev, "failed to register extcon device\n");
|
||||||
goto err_irq;
|
goto err_irq;
|
||||||
|
|
|
@ -178,9 +178,10 @@ static int palmas_usb_probe(struct platform_device *pdev)
|
||||||
platform_set_drvdata(pdev, palmas_usb);
|
platform_set_drvdata(pdev, palmas_usb);
|
||||||
|
|
||||||
palmas_usb->edev.supported_cable = palmas_extcon_cable;
|
palmas_usb->edev.supported_cable = palmas_extcon_cable;
|
||||||
|
palmas_usb->edev.dev.parent = palmas_usb->dev;
|
||||||
palmas_usb->edev.mutually_exclusive = mutually_exclusive;
|
palmas_usb->edev.mutually_exclusive = mutually_exclusive;
|
||||||
|
|
||||||
status = extcon_dev_register(&palmas_usb->edev, palmas_usb->dev);
|
status = extcon_dev_register(&palmas_usb->edev);
|
||||||
if (status) {
|
if (status) {
|
||||||
dev_err(&pdev->dev, "failed to register extcon device\n");
|
dev_err(&pdev->dev, "failed to register extcon device\n");
|
||||||
return status;
|
return status;
|
||||||
|
|
|
@ -183,7 +183,7 @@ struct extcon_specific_cable_nb {
|
||||||
* Following APIs are for notifiers or configurations.
|
* Following APIs are for notifiers or configurations.
|
||||||
* Notifiers are the external port and connection devices.
|
* Notifiers are the external port and connection devices.
|
||||||
*/
|
*/
|
||||||
extern int extcon_dev_register(struct extcon_dev *edev, struct device *dev);
|
extern int extcon_dev_register(struct extcon_dev *edev);
|
||||||
extern void extcon_dev_unregister(struct extcon_dev *edev);
|
extern void extcon_dev_unregister(struct extcon_dev *edev);
|
||||||
extern struct extcon_dev *extcon_get_extcon_dev(const char *extcon_name);
|
extern struct extcon_dev *extcon_get_extcon_dev(const char *extcon_name);
|
||||||
|
|
||||||
|
@ -241,8 +241,7 @@ extern int extcon_register_notifier(struct extcon_dev *edev,
|
||||||
extern int extcon_unregister_notifier(struct extcon_dev *edev,
|
extern int extcon_unregister_notifier(struct extcon_dev *edev,
|
||||||
struct notifier_block *nb);
|
struct notifier_block *nb);
|
||||||
#else /* CONFIG_EXTCON */
|
#else /* CONFIG_EXTCON */
|
||||||
static inline int extcon_dev_register(struct extcon_dev *edev,
|
static inline int extcon_dev_register(struct extcon_dev *edev)
|
||||||
struct device *dev)
|
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue