[PATCH 1/3] mfd: support 88pm80x in 80x driver

Qiao Zhou zhouqiao at marvell.com
Fri Jun 15 01:23:36 EDT 2012


On 06/15/2012 02:43 AM, Mark Brown wrote:
> On Thu, Jun 14, 2012 at 12:27:48PM +0000, Arnd Bergmann wrote:
>> On Wednesday 13 June 2012, Qiao Zhou wrote:
>
>>> +static struct mfd_cell onkey_devs[] = {
>>> +	{
>>> +	 .name = "88pm80x-onkey",
>>> +	 .num_resources = 1,
>>> +	 .resources =&onkey_resources[0],
>>> +	 .id = -1,
>>> +	 },
>>> +};
>
>> I wonder if it really makes sense to use the mfd_cell abstraction here, when each
>> array only contains a single device. Why not just use
>> platform_device_register_simple()?
>
> mfd_cell does some other stuff like let you pass in bases for the various
> resource ranges when you register which looks to be being used here.
>
>>> +static irqreturn_t pm805_irq(int irq, void *data)
>>> +{
>>> +	struct pm80x_chip *chip = data;
>>> +	struct pm80x_subchip *pm805_chip = chip->pm805_chip;
>>> +	struct pm80x_irq_data *irq_data;
>>> +	struct i2c_client *i2c;
>>> +	int i, read_reg = -1, value = 0;
>
>> The functions for pm800 and pm805 look almost identical. Have you tried
>> consolidating them so you can use the same irqchip and code with different
>> init data structures?
>
> Since you use regmap perhaps you can use regmap_irq and just convert
> them into data?
Mark,

thanks for your suggestion, and would update accordingly.

-- 

Best Regards
Qiao



More information about the linux-arm-kernel mailing list