[Qualcomm PM8921 MFD v2 4/6] mfd: pm8xxx-mpp: Add pm8xxx MPP driver
From: Trilok Soni <hidden>
Date: 2011-03-10 03:57:11
Also in:
linux-arm-msm, lkml
Hi Abhi, On 3/10/2011 9:06 AM, Abhijeet Dharmapurikar wrote:
Mark Brown wrote:quoted
On Mon, Mar 07, 2011 at 10:09:48PM -0800, adharmap at codeaurora.org wrote:quoted
+ 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.