[PATCH v2] drm/bridge: adv7511: Remove unused code blocks
Sharma, Jitendra
shajit at codeaurora.org
Wed Oct 19 13:41:27 UTC 2016
Hi Laurent,
On 10/19/2016 7:03 PM, Laurent Pinchart wrote:
> Hi Jitendra,
>
> On Wednesday 19 Oct 2016 18:37:38 Sharma, Jitendra wrote:
>> On 10/19/2016 5:21 PM, Laurent Pinchart wrote:
>>> On Wednesday 19 Oct 2016 17:12:48 Jitendra Sharma wrote:
>>>> Remove redundant condition check
>>>> Remove not necessary if-else block for checking DT entry because else
>>>> part will never be picked as in absence of device node, probe will
>>>> fail in initial stage only.
>>>>
>>>> Remove unused id->driver_data entries
>>>> As id->driver_data is not used in driver source. So no need in
>>>> Keeping these entries in id_table
>>>>
>>>> Signed-off-by: Jitendra Sharma <shajit at codeaurora.org>
>>>> ---
>>>> Probe was not happening in Patch v1 due to removal of .id_table.As the
>>>> intention of this patch is not to change any functionality, also
>>>> changes looks simple enough.So, didn't verified Patch v1 over hardware
>>> You should *ALWAYS* verify patches before sending them out.
>> Will keep in mind
>>
>>> I assume you've now properly tested this one ?
>>>
>>>> Hence fixing the issues in Patch v1 and posting patch v2
>>>>
>>>> Changes for v2:
>>>> - Keep the id_table entries
>>>> - Keep the id->driver_data to 0
>>>>
>>>> ---
>>>>
>>>> drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 13 +++++--------
>>>> 1 file changed, 5 insertions(+), 8 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
>>>> b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c index 8ed3906..3279059
>>>> 100644
>>>> --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
>>>> +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
>>>> @@ -942,10 +942,7 @@ static int adv7511_probe(struct i2c_client *i2c,
>>>> const
>>>> struct i2c_device_id *id) adv7511->powered = false;
>>>>
>>>> adv7511->status = connector_status_disconnected;
>>>>
>>>> - if (dev->of_node)
>>>> - adv7511->type = (enum
>>> adv7511_type)of_device_get_match_data(dev);
>>>
>>>> - else
>>>> - adv7511->type = id->driver_data;
>>>> + adv7511->type = (enum adv7511_type)of_device_get_match_data(dev);
>>>>
>>>> memset(&link_config, 0, sizeof(link_config));
>>>>
>>>> @@ -1066,11 +1063,11 @@ static int adv7511_remove(struct i2c_client *i2c)
>>>>
>>>> }
>>>>
>>>> static const struct i2c_device_id adv7511_i2c_ids[] = {
>>>>
>>>> - { "adv7511", ADV7511 },
>>>> - { "adv7511w", ADV7511 },
>>>> - { "adv7513", ADV7511 },
>>>> + { "adv7511", 0 },
>>>> + { "adv7511w", 0 },
>>>> + { "adv7513", 0 },
>>>>
>>>> #ifdef CONFIG_DRM_I2C_ADV7533
>>>>
>>>> - { "adv7533", ADV7533 },
>>>> + { "adv7533", 0 },
>>>>
>>>> #endif
>>> What's the purpose of this ? It doesn't save any memory or CPU cycle.
>> Idea is to remove unnecessary code, variables and if possible to reduce
>> lines of code for example here by eliminating obvious branching.
>> Regarding memory or cpu cyles, no difference could be because of
>> compiler optimization
> For the code block in the probe function I understand, but for the
> initializers here I don't see the point.
>
> And one might argue that using id->driver_data unconditionally would be better
> as it would save a call to of_device_get_match_data()...
Agreed.
So, there could be two ways round either use id->driver_data
unconditionally or use of_device_get_match_data().
IMO it would be better to use id->driver_data unconditionally and save a
call to of_device_get_match_data()
What would you suggest to move ahead?
>>>> { }
>>>>
>>>> };
More information about the dri-devel
mailing list