[Outreachy kernel] [PATCH v14 2/3] drm/tinydrm: Move tinydrm_of_find_backlight to backlight.c
Daniel Thompson
daniel.thompson at linaro.org
Thu Dec 7 15:44:04 UTC 2017
On 06/12/17 10:43, Meghana Madhyastha wrote:
> On Tue, Oct 24, 2017 at 06:45:34PM +0200, Noralf Trønnes wrote:
>>
>> Den 24.10.2017 17.42, skrev Sean Paul:
>>> On Sat, Oct 21, 2017 at 05:27:33PM +0530, Meghana Madhyastha wrote:
>>>> Rename tinydrm_of_find_backlight to of_find_backlight and move
>>>> it to linux/backlight.c so that it can be used by other drivers.
>>>>
>>>> Signed-off-by: Meghana Madhyastha <meghana.madhyastha at gmail.com>
>>>> ---
>>>> Changes in v14:
>>>> -s/backlight_get/of_find_backlight/
>>>>
>>>> drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c | 40 --------------------------
>>>> drivers/gpu/drm/tinydrm/mi0283qt.c | 3 +-
>>>> drivers/video/backlight/backlight.c | 37 ++++++++++++++++++++++++
>>>> include/drm/tinydrm/tinydrm-helpers.h | 2 --
>>>> include/linux/backlight.h | 19 ++++++++++++
>>>> 5 files changed, 58 insertions(+), 43 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c b/drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c
>>>> index a42dee6..cb1a01a 100644
>>>> --- a/drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c
>>>> +++ b/drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c
>>>> @@ -236,46 +236,6 @@ void tinydrm_xrgb8888_to_gray8(u8 *dst, void *vaddr, struct drm_framebuffer *fb,
>>>> }
>>>> EXPORT_SYMBOL(tinydrm_xrgb8888_to_gray8);
>>>> -/**
>>>> - * tinydrm_of_find_backlight - Find backlight device in device-tree
>>>> - * @dev: Device
>>>> - *
>>>> - * This function looks for a DT node pointed to by a property named 'backlight'
>>>> - * and uses of_find_backlight_by_node() to get the backlight device.
>>>> - * Additionally if the brightness property is zero, it is set to
>>>> - * max_brightness.
>>>> - *
>>>> - * Returns:
>>>> - * NULL if there's no backlight property.
>>>> - * Error pointer -EPROBE_DEFER if the DT node is found, but no backlight device
>>>> - * is found.
>>>> - * If the backlight device is found, a pointer to the structure is returned.
>>>> - */
>>>> -struct backlight_device *tinydrm_of_find_backlight(struct device *dev)
>>>> -{
>>>> - struct backlight_device *backlight;
>>>> - struct device_node *np;
>>>> -
>>>> - np = of_parse_phandle(dev->of_node, "backlight", 0);
>>>> - if (!np)
>>>> - return NULL;
>>>> -
>>>> - backlight = of_find_backlight_by_node(np);
>>>> - of_node_put(np);
>>>> -
>>>> - if (!backlight)
>>>> - return ERR_PTR(-EPROBE_DEFER);
>>>> -
>>>> - if (!backlight->props.brightness) {
>>>> - backlight->props.brightness = backlight->props.max_brightness;
>>>> - DRM_DEBUG_KMS("Backlight brightness set to %d\n",
>>>> - backlight->props.brightness);
>>>> - }
>>>> -
>>>> - return backlight;
>>>> -}
>>>> -EXPORT_SYMBOL(tinydrm_of_find_backlight);
>>>> -
>>>> #if IS_ENABLED(CONFIG_SPI)
>>>> /**
>>>> diff --git a/drivers/gpu/drm/tinydrm/mi0283qt.c b/drivers/gpu/drm/tinydrm/mi0283qt.c
>>>> index 7fd2691..53ab5a0 100644
>>>> --- a/drivers/gpu/drm/tinydrm/mi0283qt.c
>>>> +++ b/drivers/gpu/drm/tinydrm/mi0283qt.c
>>>> @@ -12,6 +12,7 @@
>>>> #include <drm/tinydrm/ili9341.h>
>>>> #include <drm/tinydrm/mipi-dbi.h>
>>>> #include <drm/tinydrm/tinydrm-helpers.h>
>>>> +#include <linux/backlight.h>
>>>> #include <linux/delay.h>
>>>> #include <linux/gpio/consumer.h>
>>>> #include <linux/module.h>
>>>> @@ -188,7 +189,7 @@ static int mi0283qt_probe(struct spi_device *spi)
>>>> if (IS_ERR(mipi->regulator))
>>>> return PTR_ERR(mipi->regulator);
>>>> - mipi->backlight = tinydrm_of_find_backlight(dev);
>>>> + mipi->backlight = of_find_backlight(dev);
>>> Sorry for the follow-up spam, but are you missing the put_device somewhere? The
>>> next patch uses devm_of_find_backlight. So AFAICT you're either leaking a reference
>>> here, or you're closing an additional reference in the next patch.
>>
>> This is my fault, put_device() has been missing all along, so Meghana is
>> plugging that hole,
>> in the next patch :-)
>>
>> Noralf.
>
> Is there anything else that needs to be done for this patch ? If not,
> and it is ready, can this be acked ? It seems to have been stuck for
> some time now and I will definitely fix anything that needs to be fixed
> in this patch ASAP.
I've lost track a little but have two questions:
1. Is there any pending feedback? If not a resend might be sensible.
2. Which maintainers are you expecting to pick up the patch? It looks to
me like lots of people are be missing from the To: fields (compared
to what I think get_maintainer.pl would give you) meaning the patches
won't get picked up.
Daniel.
More information about the dri-devel
mailing list