Re: [Qualcomm PM8921 MFD v2 4/6] mfd: pm8xxx-mpp: Add pm8xxx MPPdriver

From: Trilok Soni
Date: Wed Mar 09 2011 - 22:57:29 EST


Hi Abhi,

On 3/10/2011 9:06 AM, Abhijeet Dharmapurikar wrote:
> Mark Brown wrote:
>> On Mon, Mar 07, 2011 at 10:09:48PM -0800, adharmap@xxxxxxxxxxxxxx wrote:
>>
>>> + mpp_chip->gpio_chip.label = PM8XXX_MPP_DEV_NAME;
>>> + mpp_chip->gpio_chip.direction_input = pm8xxx_mpp_dir_input;
>>> + mpp_chip->gpio_chip.direction_output = pm8xxx_mpp_dir_output;
>>> + mpp_chip->gpio_chip.to_irq = pm8xxx_mpp_to_irq;
>>> + mpp_chip->gpio_chip.get = pm8xxx_mpp_get;
>>> + mpp_chip->gpio_chip.set = pm8xxx_mpp_set;
>>> + mpp_chip->gpio_chip.dbg_show = pm8xxx_mpp_dbg_show;
>>> + mpp_chip->gpio_chip.ngpio = pdata->core_data.nmpps;
>>> + mpp_chip->gpio_chip.can_sleep = 1;
>>> + mpp_chip->gpio_chip.dev = &pdev->dev;
>>> + mpp_chip->gpio_chip.base = pdata->mpp_base;
>>
>> It's seems really odd that you're adding gpiolib stuff here when you've
>> also got a separate gpiolib driver. Possibly this all shouldn't
>> actually be split up as much as it is - there's also the issue with the
>> gpiolib driver needing to peer into the interrupt controller. It might
>> simplify the code if things were merged more.
>
> I dont think merging code will help here. gpio lines and mpp lines are very different piece of hardware,they have a different register map and different config attributes. They do fall under the generic 'gpiolib' umbrella, but it seems clean to keep them separate.
>
> I agree with you that gpio code needs to call on interrupt controller ( a complicated hardware design) but I think I have a clean software implementation to manage it.
>

It would be good to add that MPP do have more functionality than normal GPIO. So, I expect that in future
we might have few exported APIs beyond gpiolib integration.

---Trilok Soni

--
Sent by a consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/