Received: by 10.223.176.46 with SMTP id f43csp2073049wra; Sun, 21 Jan 2018 10:36:10 -0800 (PST) X-Google-Smtp-Source: AH8x224Slw7fSrpyIjPumiJ1uCWFfcBHe/g41EBv3iTzjDACmOPgyBNJ8SmqV+0odqd+2vFtp65o X-Received: by 10.98.220.72 with SMTP id t69mr5906600pfg.135.1516559770244; Sun, 21 Jan 2018 10:36:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516559770; cv=none; d=google.com; s=arc-20160816; b=IsN0vxhWcSdF1vc2+3s5jRfal41yKY8EHbwaBOMufhqw4POcVi20Zz/ewTQINcpsqL f32AOOLZBb0q6jA50/ZV+5EKEpGqYjtcZXEStqJHBV2O0VNCZMkWXgemBf76ytwmUcph 4l7jEtXWlpym7nNQRyLLHxHhe7iNCFN2IzNGiv/Scf1CwekR+ypmNfz6j6OLf3neKnnW xGEvzIUPyC54MjtU55LDCuCiN/SkgiTSuhFIxIvTnI5+SZqDsngnWrWGHO7HbWa1v1K6 FyQGqvMJwn51adgz2Dhn3mbv1VRc7AGJ+8KC91icrTQ89FKtd6NXrrsUdYMm5DfXZG8E N8yg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:in-reply-to :mime-version:user-agent:date:message-id:from:references:cc:to :subject:arc-authentication-results; bh=EVf2RZYdjmLfA8IxkOTbaVwn9YrMtWLYVWg1TUA+xE4=; b=qLijFNaNiDkPTIfZLjAUr2SEpnzcfx/KKaDhs7FcoUNf1rhGZEMT47C5KCq0S+D6Of i3wxwjpLkgsRzKSgw7MmFftMX2lYzIen+w7FAAGxSLSMIlRHbXZDLj7aLzLgIYQGRNIm Bp0+gDuKvoJrKeqbZOPRS5e+r/9JZfq/OakIi4BwXmqvxIztQskNl2kE5de2Xan+iXQu nFGyhv8gI4OqXWIo3Ab5xmsmZ2fWjGItX6Ej2dyT1gtMitAW+De7mMZ0Ee4Kdw2De7Fh 8pbHooduhX+omNqIV0MIr7d1YolpgmG5c+CgnC7zqysIen/7urRo/3oUb0gihVoS3pQs 87HQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w23si4221853pgv.29.2018.01.21.10.35.55; Sun, 21 Jan 2018 10:36:10 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751346AbeAUSfa (ORCPT + 99 others); Sun, 21 Jan 2018 13:35:30 -0500 Received: from smtp.domeneshop.no ([194.63.252.55]:52113 "EHLO smtp.domeneshop.no" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750925AbeAUSf3 (ORCPT ); Sun, 21 Jan 2018 13:35:29 -0500 Received: from 211.81-166-168.customer.lyse.net ([81.166.168.211]:56874 helo=[192.168.10.157]) by smtp.domeneshop.no with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1edKSl-0007oF-1d; Sun, 21 Jan 2018 19:35:27 +0100 Subject: Re: [PATCH v17 03/10] video: backlight: Add of_find_backlight helper in backlight.c To: Daniel Thompson , Meghana Madhyastha Cc: Lee Jones , Jingoo Han , Thierry Reding , Tomi Valkeinen , Daniel Vetter , Sean Paul , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org References: <116d160ba78be2e6dcbdcb6855622bce67da9472.1516358037.git.meghana.madhyastha@gmail.com> <20180119110556.q2z47isvdcnly2e2@oak.lan> From: =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= Message-ID: <8624da78-63cf-d454-abbc-ddd780789f42@tronnes.org> Date: Sun, 21 Jan 2018 19:35:15 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: <20180119110556.q2z47isvdcnly2e2@oak.lan> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Den 19.01.2018 12.05, skrev Daniel Thompson: > On Fri, Jan 19, 2018 at 10:42:15AM +0000, Meghana Madhyastha wrote: >> Add of_find_backlight, a helper function which is a generic version >> of tinydrm_of_find_backlight that can be used by other drivers to avoid >> repetition of code and simplify things. >> >> Signed-off-by: Meghana Madhyastha > Didn't I already ack this one? Meghana, You are supposed to pick up the r-b/acks you get and add them when you send a new version. This way the reviewer knows which patches still need attention. Here's a good overview of the acks/r-b's you've received: https://patchwork.freedesktop.org/project/dri-devel/patches/?submitter=17149 Beware that r-b/ack to the cover letter doesn't show up in patchwork, like Sean did on the last version putting his r-b on the whole series. The same goes for someone putting an r-b in one of the patches stating that it applies to whole series, patchwork thinks it only applies to this one patch. Noralf. > >> --- >> changes in v17: >> -rebase with drm-misc-next >> -convert st7735r callers from tinydrm specific helpers >> to new generic backlight helpers >> -remove select BACKLIGHT_LCD_SUPPORT >> and select BACKLIGHT_CLASS_DEVICE from >> tinydrm/Kconfig >> >> drivers/video/backlight/backlight.c | 43 +++++++++++++++++++++++++++++++++++++ >> include/linux/backlight.h | 19 ++++++++++++++++ >> 2 files changed, 62 insertions(+) >> >> diff --git a/drivers/video/backlight/backlight.c b/drivers/video/backlight/backlight.c >> index 8049e7656..553bf5c48 100644 >> --- a/drivers/video/backlight/backlight.c >> +++ b/drivers/video/backlight/backlight.c >> @@ -580,6 +580,49 @@ struct backlight_device *of_find_backlight_by_node(struct device_node *node) >> EXPORT_SYMBOL(of_find_backlight_by_node); >> #endif >> >> +/** >> + * of_find_backlight - Get backlight device >> + * @dev: Device >> + * >> + * This function looks for a property named 'backlight' on the DT node >> + * connected to @dev and looks up the backlight device. >> + * >> + * Call backlight_put() to drop the reference on the backlight device. >> + * >> + * Returns: >> + * A pointer to the backlight device if found. >> + * Error pointer -EPROBE_DEFER if the DT property is set, but no backlight >> + * device is found. >> + * NULL if there's no backlight property. >> + */ >> +struct backlight_device *of_find_backlight(struct device *dev) >> +{ >> + struct backlight_device *bd = NULL; >> + struct device_node *np; >> + >> + if (!dev) >> + return NULL; >> + >> + if (IS_ENABLED(CONFIG_OF) && dev->of_node) { >> + np = of_parse_phandle(dev->of_node, "backlight", 0); >> + if (np) { >> + bd = of_find_backlight_by_node(np); >> + of_node_put(np); >> + if (!bd) >> + return ERR_PTR(-EPROBE_DEFER); >> + /* >> + * Note: gpio_backlight uses brightness as >> + * power state during probe >> + */ >> + if (!bd->props.brightness) >> + bd->props.brightness = bd->props.max_brightness; >> + } >> + } >> + >> + return bd; >> +} >> +EXPORT_SYMBOL(of_find_backlight); >> + >> static void __exit backlight_class_exit(void) >> { >> class_destroy(backlight_class); >> diff --git a/include/linux/backlight.h b/include/linux/backlight.h >> index ace825e2c..ddc9bade4 100644 >> --- a/include/linux/backlight.h >> +++ b/include/linux/backlight.h >> @@ -162,6 +162,16 @@ static inline int backlight_disable(struct backlight_device *bd) >> return backlight_update_status(bd); >> } >> >> +/** >> + * backlight_put - Drop backlight reference >> + * @bd: the backlight device to put >> + */ >> +static inline void backlight_put(struct backlight_device *bd) >> +{ >> + if (bd) >> + put_device(&bd->dev); >> +} >> + >> extern struct backlight_device *backlight_device_register(const char *name, >> struct device *dev, void *devdata, const struct backlight_ops *ops, >> const struct backlight_properties *props); >> @@ -205,4 +215,13 @@ of_find_backlight_by_node(struct device_node *node) >> } >> #endif >> >> +#if IS_ENABLED(CONFIG_BACKLIGHT_CLASS_DEVICE) >> +struct backlight_device *of_find_backlight(struct device *dev); >> +#else >> +static inline struct backlight_device *of_find_backlight(struct device *dev) >> +{ >> + return NULL; >> +} >> +#endif >> + >> #endif >> -- >> 2.11.0 >>