Re: [PATCH 1/2] ARM: shmobile: Factor out complex condition

2018-02-21 Thread Marek Vasut
On 02/19/2018 09:58 AM, Simon Horman wrote:
> On Sat, Feb 17, 2018 at 03:06:41AM +0100, Marek Vasut wrote:
>> Pull the complex condition in regulator_quirk_notify() into
>> regulator_quirk_check(). Moreover, do not hard-code the I2C
>> address, but rather use the one in da9xxx_msgs[].
>>
>> Signed-off-by: Marek Vasut 
>> Cc: Geert Uytterhoeven 
>> Cc: Kuninori Morimoto 
>> Cc: Simon Horman 
>> Cc: Wolfram Sang 
> 
> There appears to be some review of this series that needs addressing,
> I have marked it as "Changes Requested".
> 
Jupp

-- 
Best regards,
Marek Vasut


Re: [PATCH 1/2] ARM: shmobile: Factor out complex condition

2018-02-19 Thread Simon Horman
On Sat, Feb 17, 2018 at 03:06:41AM +0100, Marek Vasut wrote:
> Pull the complex condition in regulator_quirk_notify() into
> regulator_quirk_check(). Moreover, do not hard-code the I2C
> address, but rather use the one in da9xxx_msgs[].
> 
> Signed-off-by: Marek Vasut 
> Cc: Geert Uytterhoeven 
> Cc: Kuninori Morimoto 
> Cc: Simon Horman 
> Cc: Wolfram Sang 

There appears to be some review of this series that needs addressing,
I have marked it as "Changes Requested".


Re: [PATCH 1/2] ARM: shmobile: Factor out complex condition

2018-02-19 Thread Geert Uytterhoeven
Hi Marek,

On Sat, Feb 17, 2018 at 12:46 PM, Marek Vasut  wrote:
> On 02/17/2018 09:18 AM, Wolfram Sang wrote:
>>> -if ((client->addr == 0x58 && !strcmp(client->name, "da9063")) ||
>>> -(client->addr == 0x68 && !strcmp(client->name, "da9210")) ||
>>> -(client->addr == 0x70 && !strcmp(client->name, "da9210"))) {
>>> +if (regulator_quirk_check(client, 0, "da9063") ||
>>> +regulator_quirk_check(client, 1, "da9210") ||
>>> +regulator_quirk_check(client, 2, "da9210")) {
>>
>> I am afraid I don't think this makes the code better, just different.
>> The index is as magic as the client address IMO. I was not super happy
>> with the array size depending on the detected board from a previous
>> patch already. But given the next patch which modifies the msg array
>> depending on the board, I think we really need to switch to seperate
>> message arrays per board. Everything else is too error prone and
>> unnecessarily cumbersome to understand.
>>
>> Other opinions?
>
> The code is awful, yes.
>
> I wonder if we could rather find all DA0063 and DA9210 PMICs in the DT,
> check if their IRQ lines are tied together and then generate the table
> above dynamically for whatever PMICs are present in the system. Then all
> that special-casing would go away as we'd extract the information from DT.

Yes, like I suggested 4 days ago ;-)

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds


Re: [PATCH 1/2] ARM: shmobile: Factor out complex condition

2018-02-17 Thread Marek Vasut
On 02/17/2018 09:18 AM, Wolfram Sang wrote:
>> -if ((client->addr == 0x58 && !strcmp(client->name, "da9063")) ||
>> -(client->addr == 0x68 && !strcmp(client->name, "da9210")) ||
>> -(client->addr == 0x70 && !strcmp(client->name, "da9210"))) {
>> +if (regulator_quirk_check(client, 0, "da9063") ||
>> +regulator_quirk_check(client, 1, "da9210") ||
>> +regulator_quirk_check(client, 2, "da9210")) {
> 
> I am afraid I don't think this makes the code better, just different.
> The index is as magic as the client address IMO. I was not super happy
> with the array size depending on the detected board from a previous
> patch already. But given the next patch which modifies the msg array
> depending on the board, I think we really need to switch to seperate
> message arrays per board. Everything else is too error prone and
> unnecessarily cumbersome to understand.
> 
> Other opinions?

The code is awful, yes.

I wonder if we could rather find all DA0063 and DA9210 PMICs in the DT,
check if their IRQ lines are tied together and then generate the table
above dynamically for whatever PMICs are present in the system. Then all
that special-casing would go away as we'd extract the information from DT.

-- 
Best regards,
Marek Vasut


Re: [PATCH 1/2] ARM: shmobile: Factor out complex condition

2018-02-17 Thread Wolfram Sang
> - if ((client->addr == 0x58 && !strcmp(client->name, "da9063")) ||
> - (client->addr == 0x68 && !strcmp(client->name, "da9210")) ||
> - (client->addr == 0x70 && !strcmp(client->name, "da9210"))) {
> + if (regulator_quirk_check(client, 0, "da9063") ||
> + regulator_quirk_check(client, 1, "da9210") ||
> + regulator_quirk_check(client, 2, "da9210")) {

I am afraid I don't think this makes the code better, just different.
The index is as magic as the client address IMO. I was not super happy
with the array size depending on the detected board from a previous
patch already. But given the next patch which modifies the msg array
depending on the board, I think we really need to switch to seperate
message arrays per board. Everything else is too error prone and
unnecessarily cumbersome to understand.

Other opinions?

Regards,

   Wolfram


signature.asc
Description: PGP signature