Received: by 2002:ab2:6857:0:b0:1ef:ffd0:ce49 with SMTP id l23csp3492402lqp; Tue, 26 Mar 2024 10:29:23 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCV08dyt/yCWbbw0UpDvrecGgkQm3nLKZUpSzBZWiM3wDpZL3HOxzisdn7MmX/D/uyQNOrWeWBu2KWXJKiu219IGRg73e9j2JmrYwDaXtw== X-Google-Smtp-Source: AGHT+IFTEvWJtSPOZ1cZI3Uy2OQGYTcK2Ok9Aeldh7IgYHVqxcbpZtljYnEPBYK73zhh8x/GKlN5 X-Received: by 2002:a05:6870:a897:b0:229:f022:ef92 with SMTP id eb23-20020a056870a89700b00229f022ef92mr7597938oab.10.1711474163016; Tue, 26 Mar 2024 10:29:23 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1711474162; cv=pass; d=google.com; s=arc-20160816; b=ZWhafC43C06cSxRtNmkreFvFU14Ruleohis15Uj1YuDWvXJ4I8/CpIFWjJ5xaGtmM3 uoJzd9xsInle3IaSDbvR+LdaY4emsbBDA8NoLSmR+WkrWOHlOgZWoUKPL263ePz1p9ea 9v6sAeKo+lTgBSrv/SqsurAXcn3ewYmwJroiFWG6blmJ8Sa8YJpqXykN1zCmWtaHEMQL QZiuWhQTc/rbyVf9UIJT/uoeHKboiJD83PsIENq2Kr5+3sPuyFx1/VBTdJbsS9/6da3y yCBimdkzw1jRHUwRaX00jgb0syLTVog4kBKXSHpfIPOmLBkLXuTraiOJQvHwZfVr4Eqk MtQQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :dkim-signature; bh=SXBeZKhcT8cc6xEPK8lT0ioRsYyHLX/6E0d+anBqJaU=; fh=wWQMzDUkt4EinTmjYIZ6fiLbX9ht3I3J8E74zYL+Xxc=; b=KWWgUcumrhdIwjPvZMK2tHH8G/mbuTLMZw1ZyUli4UHomlsT+LEFFHS4SkWmJVKPaT LJ2j0ObYgzGhfiBONW6xOUK73K/kNDYsm4045ZAODyeML+5xr400P4x82gEaj0jUcCtj 6/fERR5sZST48Sal2anctdSWNvUDv3KUzFpCgliP1JZK2UJlpHncXl29njy7j1DB/mYA UkNdT2scDnijSQh4v55P/DFImBmZ1GxnMRXOc9GWbQIY73+IxURiQkLoOzeMjKeDrKoX p8pKl5WsbjIUPvjnQ0HERABRNRcGxnTPFjDb6jNm39WfvcHQmRH4JuhU3NkuazpSXa76 V9ZA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=sksD4wvf; arc=pass (i=1 spf=pass spfdomain=linaro.org dkim=pass dkdomain=linaro.org dmarc=pass fromdomain=linaro.org); spf=pass (google.com: domain of linux-kernel+bounces-119589-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-119589-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id z37-20020a630a65000000b005dc892e61d3si10011250pgk.657.2024.03.26.10.29.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Mar 2024 10:29:22 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-119589-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=sksD4wvf; arc=pass (i=1 spf=pass spfdomain=linaro.org dkim=pass dkdomain=linaro.org dmarc=pass fromdomain=linaro.org); spf=pass (google.com: domain of linux-kernel+bounces-119589-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-119589-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id AA5122A2F90 for ; Tue, 26 Mar 2024 17:28:29 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id DD6B01F945; Tue, 26 Mar 2024 17:28:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="sksD4wvf" Received: from mail-yw1-f180.google.com (mail-yw1-f180.google.com [209.85.128.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 241F41C6A0 for ; Tue, 26 Mar 2024 17:28:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.180 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711474093; cv=none; b=DRbpVp2kKPw/AIykvwH6mIw8GrbXCE67tmbDutZgo0NlFJktS8ATrRS6BBULfn3PMhlxSpqylj5FrgOqQ22lob/jC/VhGJdYM0XIq5aM2on08XUSvVJC2VP/djZfg04+7Iqnq8NAYtmYE7RkTDj5+aZvKLaLTGxoLptOE2FhEZk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711474093; c=relaxed/simple; bh=auU9osatJgm+5HtO74Vr7VkY2pMs1J2wxfjD9tBSsps=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=NOoUo/25YqlwQKIlkGnegRj2odQL2GvxYZJwaNM7PyvHP+5K2LWmiecqTxqwtGFyTnIpj/JXtOZynz3I1hOJz1Oe+Q0QdE15+DVtPbX2/dImXrdNxrYwMRdNeU7q78u98KsTI9g476INeZfkIFKWBPkadN5gqEemUFxxD8KDUUc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=sksD4wvf; arc=none smtp.client-ip=209.85.128.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Received: by mail-yw1-f180.google.com with SMTP id 00721157ae682-609f3ca61e0so62701737b3.3 for ; Tue, 26 Mar 2024 10:28:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1711474091; x=1712078891; darn=vger.kernel.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=SXBeZKhcT8cc6xEPK8lT0ioRsYyHLX/6E0d+anBqJaU=; b=sksD4wvfypo+63ffg6hpdTnNx5e3JV5dtNDFzmAI40TI1MLWpk70IRxqiYi4HT2OAd be+TSAyGJn96MjNQjEfQGjviftpQ2B+bAaB7Q42T0EXLdaN2Mxesu51GhzwazsIwdOTh J0aF+GeAvTOEYygl6og8z08sVuc6bRmCQGmwv1jZKhZUyeO0vwfFId6zVV4oUKnYB2IT 1KsGlAmHWvs+tTcKrrZBX/9U43uegRT/OcEU63plAwZZrEPBI6t+ciWPH6yR+cSWVdJZ QpALCjTwFfdoXL9C2ZoadjD/G9QVs+COgRL64qOOTD+pDWH1QBqD/qgX5ujbnyhKoCc7 cI5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711474091; x=1712078891; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=SXBeZKhcT8cc6xEPK8lT0ioRsYyHLX/6E0d+anBqJaU=; b=B7CZKf9fPEM4xj7adn0ORAq3eE+uen8zHPGWwZmYK+w0O7SCmXzFTJHa2kjplWlvBQ SYCczjjwAIap0HoeCJXy2JfDNGFnl4XG+7YjRlQ90VWtk0O7d+Ep+9VdUT+RARE0sS+4 1bF8cqRn+41Uvgt6D2w7nfr++sQjPGbNNSknnxgdRLdMM5MisHOjyxIismDumrXzuoJR 9xqCKJn8OopDhDlVj8atTLJjIjTAPdH+vPwBsQPehbwdNUiMjbQK0BdVyBjMTkKMZTSG 7bkyR0PCtW6/5pk513y8S1mA2pN7I3mKzHJapJMK6Du69Hh2gceKyeH5D8ZMqURfE0Na xgZg== X-Forwarded-Encrypted: i=1; AJvYcCWFIU54LSyVjCkWUldv5onDzNxGRg2bRNaaNMIp30XsHOOey6xase4rE0yYFMsXBK0gIlmgA8wUPYHyjMvgFYw/urTi48+YBS0DToB6 X-Gm-Message-State: AOJu0YzWvENCZmkOzBWqH0pyolo+d8TeioFFRj+UNJkmGg7e/6D7BiYn hzIII/ZYKyEfjwRnAib2zmIZgSpHtmktTqdbcZ0aKpyh7EJZnh1xeufewZeY2UkwkKUdcKxKL0T 9iS/9n83zCcn5PYN0sSFF4ZQQTicP4WbsWhudXg== X-Received: by 2002:a25:6605:0:b0:dcb:fa70:c09 with SMTP id a5-20020a256605000000b00dcbfa700c09mr7919663ybc.28.1711474091018; Tue, 26 Mar 2024 10:28:11 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20240326-msm-dp-cleanup-v1-0-e775556ecec0@quicinc.com> <20240326-msm-dp-cleanup-v1-1-e775556ecec0@quicinc.com> In-Reply-To: <20240326-msm-dp-cleanup-v1-1-e775556ecec0@quicinc.com> From: Dmitry Baryshkov Date: Tue, 26 Mar 2024 19:28:00 +0200 Message-ID: Subject: Re: [PATCH 1/6] drm/msm/dp: Drop unused dp_debug struct To: Bjorn Andersson Cc: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Daniel Vetter , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, Bjorn Andersson Content-Type: text/plain; charset="UTF-8" On Tue, 26 Mar 2024 at 17:06, Bjorn Andersson wrote: > > From: Bjorn Andersson > > The members of struct dp_debug are no longer used, so the only purpose > of this struct is as a type of the return value of dp_debug_get(), to > signal success/error. > > Drop the struct in favor of signalling the result of initialization > using an int. > > Signed-off-by: Bjorn Andersson > --- > drivers/gpu/drm/msm/dp/dp_debug.c | 38 ++++++++++--------------------------- > drivers/gpu/drm/msm/dp/dp_debug.h | 38 +++++++++++-------------------------- > drivers/gpu/drm/msm/dp/dp_display.c | 10 ++-------- > 3 files changed, 23 insertions(+), 63 deletions(-) > > diff --git a/drivers/gpu/drm/msm/dp/dp_debug.c b/drivers/gpu/drm/msm/dp/dp_debug.c > index eca5a02f9003..a631cbe0e599 100644 > --- a/drivers/gpu/drm/msm/dp/dp_debug.c > +++ b/drivers/gpu/drm/msm/dp/dp_debug.c > @@ -21,8 +21,6 @@ struct dp_debug_private { > struct dp_link *link; > struct dp_panel *panel; > struct drm_connector *connector; > - > - struct dp_debug dp_debug; > }; > > static int dp_debug_show(struct seq_file *seq, void *p) > @@ -199,11 +197,8 @@ static const struct file_operations test_active_fops = { > .write = dp_test_active_write > }; > > -static void dp_debug_init(struct dp_debug *dp_debug, struct dentry *root, bool is_edp) > +static void dp_debug_init(struct dp_debug_private *debug, struct dentry *root, bool is_edp) > { > - struct dp_debug_private *debug = container_of(dp_debug, > - struct dp_debug_private, dp_debug); > - > debugfs_create_file("dp_debug", 0444, root, > debug, &dp_debug_fops); > > @@ -222,39 +217,26 @@ static void dp_debug_init(struct dp_debug *dp_debug, struct dentry *root, bool i > } > } > > -struct dp_debug *dp_debug_get(struct device *dev, struct dp_panel *panel, > - struct dp_link *link, > - struct drm_connector *connector, > - struct dentry *root, bool is_edp) > +int dp_debug_get(struct device *dev, struct dp_panel *panel, > + struct dp_link *link, > + struct drm_connector *connector, > + struct dentry *root, bool is_edp) > { > struct dp_debug_private *debug; > - struct dp_debug *dp_debug; > - int rc; > > if (!dev || !panel || !link) { > DRM_ERROR("invalid input\n"); > - rc = -EINVAL; > - goto error; > + return -EINVAL; > } > > debug = devm_kzalloc(dev, sizeof(*debug), GFP_KERNEL); > - if (!debug) { > - rc = -ENOMEM; > - goto error; > - } > + if (!debug) > + return -ENOMEM; > > - debug->dp_debug.debug_en = false; > debug->link = link; > debug->panel = panel; > > - dp_debug = &debug->dp_debug; > - dp_debug->vdisplay = 0; > - dp_debug->hdisplay = 0; > - dp_debug->vrefresh = 0; > - > - dp_debug_init(dp_debug, root, is_edp); > + dp_debug_init(debug, root, is_edp); > > - return dp_debug; > - error: > - return ERR_PTR(rc); > + return 0; Since there is nothing more to get, could you please move the devm_kzalloc to dp_debug_init and call it directly from dp_display.c? > } > diff --git a/drivers/gpu/drm/msm/dp/dp_debug.h b/drivers/gpu/drm/msm/dp/dp_debug.h > index 9b3b2e702f65..c57200751c9f 100644 > --- a/drivers/gpu/drm/msm/dp/dp_debug.h > +++ b/drivers/gpu/drm/msm/dp/dp_debug.h > @@ -9,22 +9,6 @@ > #include "dp_panel.h" > #include "dp_link.h" > > -/** > - * struct dp_debug > - * @debug_en: specifies whether debug mode enabled > - * @vdisplay: used to filter out vdisplay value > - * @hdisplay: used to filter out hdisplay value > - * @vrefresh: used to filter out vrefresh value > - * @tpg_state: specifies whether tpg feature is enabled > - */ > -struct dp_debug { > - bool debug_en; > - int aspect_ratio; > - int vdisplay; > - int hdisplay; > - int vrefresh; > -}; > - > #if defined(CONFIG_DEBUG_FS) > > /** > @@ -41,22 +25,22 @@ struct dp_debug { > * This function sets up the debug module and provides a way > * for debugfs input to be communicated with existing modules > */ > -struct dp_debug *dp_debug_get(struct device *dev, struct dp_panel *panel, > - struct dp_link *link, > - struct drm_connector *connector, > - struct dentry *root, > - bool is_edp); > +int dp_debug_get(struct device *dev, struct dp_panel *panel, > + struct dp_link *link, > + struct drm_connector *connector, > + struct dentry *root, > + bool is_edp); > > #else > > static inline > -struct dp_debug *dp_debug_get(struct device *dev, struct dp_panel *panel, > - struct dp_link *link, > - struct drm_connector *connector, > - struct dentry *root, > - bool is_edp) > +int dp_debug_get(struct device *dev, struct dp_panel *panel, > + struct dp_link *link, > + struct drm_connector *connector, > + struct dentry *root, > + bool is_edp) > { > - return ERR_PTR(-EINVAL); > + return -EINVAL; > } > > #endif /* defined(CONFIG_DEBUG_FS) */ > diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c > index c4cb82af5c2f..a9187be95166 100644 > --- a/drivers/gpu/drm/msm/dp/dp_display.c > +++ b/drivers/gpu/drm/msm/dp/dp_display.c > @@ -93,7 +93,6 @@ struct dp_display_private { > struct dp_link *link; > struct dp_panel *panel; > struct dp_ctrl *ctrl; > - struct dp_debug *debug; > > struct dp_display_mode dp_mode; > struct msm_dp dp_display; > @@ -1431,14 +1430,9 @@ void dp_display_debugfs_init(struct msm_dp *dp_display, struct dentry *root, boo > dp = container_of(dp_display, struct dp_display_private, dp_display); > dev = &dp->dp_display.pdev->dev; > > - dp->debug = dp_debug_get(dev, dp->panel, > - dp->link, dp->dp_display.connector, > - root, is_edp); > - if (IS_ERR(dp->debug)) { > - rc = PTR_ERR(dp->debug); > + rc = dp_debug_get(dev, dp->panel, dp->link, dp->dp_display.connector, root, is_edp); > + if (rc) > DRM_ERROR("failed to initialize debug, rc = %d\n", rc); > - dp->debug = NULL; > - } > } > > int msm_dp_modeset_init(struct msm_dp *dp_display, struct drm_device *dev, > > -- > 2.43.0 > -- With best wishes Dmitry