[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