[PATCH v4] extcon: Palmas Extcon Driver
Chanwoo Choi
cw00.choi at samsung.com
Tue May 7 17:05:34 EST 2013
On 05/07/2013 03:57 PM, Chanwoo Choi wrote:
> diff --git a/include/linux/extcon/extcon_palmas.h b/include/linux/extcon/extcon_palmas.h
> new file mode 100644
> index 0000000..a5119c9
> --- /dev/null
> +++ b/include/linux/extcon/extcon_palmas.h
> @@ -0,0 +1,26 @@
> +/*
> + * extcon_palmas.h - palmas extcon driver to detect VBUS or ID events
> + *
> + * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.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.
> + *
> + * Author: Kishon Vijay Abraham I <kishon at ti.com>
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + */
> +
> +#ifndef __EXTCON_PALMAS_H__
> +#define __EXTCON_PALMAS_H__
> +
> +#define PALMAS_USB_STATE_DISCONNECT 0x0
> +#define PALMAS_USB_STATE_VBUS BIT(0)
> +#define PALMAS_USB_STATE_ID BIT(1)
> +
>>> The defined variable in extcon_palmas.h is used only on extcon-palmas.c.
>>> So, I would like to move definition from extcon_palmas.h to extcon-palmas.c
>>> and remove extcon_palmas.h header file.
>> Actually it has to be used in dwc3-omap.c (that was in a different patch).
>>
> Should detect the state of USB/USB-HOST on dwc3-omap driver?
>
> If yes, dwc3-omap driver can immediately detect the changed state of USB/USB-HOST
> by using excon_register_interest() function which is defined in extcon-class.c
>
> I explain simple usage of extcon_register_interest()
> to receive newly state of USB cable on dwc3-omap driver.
> -----------
> struct extcon_specific_cable_nb extcon_notifier
> struct notifier_block extcon_notifier;
>
> /* ... */
>
> extcon_notifier.notifier_call = omap_extcon_notifier;
> ret = extcon_register_interest(&extcon_dev, "USB", &extcon_notifier);
Fix usage of extcon_register_interest() as following:
ret = extcon_register_interest(&extcon_dev, NULL, "USB", &extcon_notifier); or
ret = extcon_register_interest(&extcon_dev, "palmas-usb", "USB", &extcon_notifier);
> /* ... */
>
> int omap_extcon_notifier(struct notifier_block *self,
> unsigned long event, void *ptr)
> {
> int usb_state;
>
> usb_state = event;
>
> /* if usb_state is 1, PALMAS_USB_STATE_VBUS */
> /* if usb_state is 0, PALMAS_USB_STATE_DISCONNECT */
>
> /* TODO */
>
> }
> -----------
>
> If dwc3-omap driver use extcon_register_interest(), following defined variables
> are able to be removed.
> PALMAS_USB_STATE_DISCONNECT
> PALMAS_USB_STATE_VBUS
> PALMAS_USB_STATE_ID
>
> Thanks,
> Chanwoo Choi
>
More information about the devicetree-discuss
mailing list