[Intel-gfx] [RFC v2 1/4] drm: Add support to find drm_panel by name

Kumar, Shobhit shobhit.kumar at linux.intel.com
Sun Jan 11 23:37:21 PST 2015


On 1/9/2015 6:20 PM, Jani Nikula wrote:
> On Fri, 02 Jan 2015, Shobhit Kumar <shobhit.kumar at intel.com> wrote:
>> For scenarios where OF is not available, we can use panel identification by
>> name.
>>
>> Signed-off-by: Shobhit Kumar <shobhit.kumar at intel.com>
>> ---
>>   drivers/gpu/drm/drm_panel.c | 18 ++++++++++++++++++
>>   include/drm/drm_panel.h     |  3 +++
>>   2 files changed, 21 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/drm_panel.c b/drivers/gpu/drm/drm_panel.c
>> index 2ef988e..773ebd6 100644
>> --- a/drivers/gpu/drm/drm_panel.c
>> +++ b/drivers/gpu/drm/drm_panel.c
>> @@ -95,6 +95,24 @@ struct drm_panel *of_drm_find_panel(struct device_node *np)
>>   EXPORT_SYMBOL(of_drm_find_panel);
>>   #endif
>>
>> +struct drm_panel *name_drm_find_panel(const char *name)
>> +{
>> +	struct drm_panel *panel;
>> +
>> +	mutex_lock(&panel_lock);
>> +
>> +	list_for_each_entry(panel, &panel_list, list) {
>> +		if (strcmp(panel->name, name) == 0) {
>> +			mutex_unlock(&panel_lock);
>> +			return panel;
>> +		}
>> +	}
>> +
>> +	mutex_unlock(&panel_lock);
>> +	return NULL;
>> +}
>> +EXPORT_SYMBOL(name_drm_find_panel);
>
> This patch needs to be sent to drm-devel.
>
> The name should probably be something like drm_find_panel_by_name.
>
> I have a slightly uneasy feeling about handing out drm_panel pointers
> (both from here and of_drm_find_panel) without refcounting. If the panel
> driver gets removed, whoever called the find functions will have a
> dangling pointer. I supposed this will be discussed on drm-devel.

Right its a valid point. I Will post the updated patch there and see 
what all comes up.

Regards
Shobhit


More information about the Intel-gfx mailing list