Received: by 10.213.65.68 with SMTP id h4csp147991imn; Tue, 27 Mar 2018 19:00:43 -0700 (PDT) X-Google-Smtp-Source: AIpwx4+7FIXM5yXuwbgtMhZSLC6wokMDu5ibG40hGXIUr/eMEzvhrZw2ITiELOhkUaAzPCHmZ6FF X-Received: by 2002:a17:902:604f:: with SMTP id a15-v6mr1773111plt.184.1522202443580; Tue, 27 Mar 2018 19:00:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522202443; cv=none; d=google.com; s=arc-20160816; b=Q5FqOeedoYSxwkAjX0lRgNUf+17fx86cU4Mp7YuryoKDWJbgm9q1C4IseqVlFD9kzo OXaGU6tlqGTpViAmKQJjjBFvOhqATJi3Ah/wj1wQ6ESwSNfH6OuOP0EDSfyjkIWN+UQh 9R0LHKqi4kJK1toAdhgaYm8D5jCzaMCPw66SVKoWa8yPrt8pPwHPLnB9uYV0yG9KjS/M soHlDP4xc17fUJa3pwETwu6O811LLlNGb6S11bARkKgr04j/Yfn2bGVYJD/hY3LyaTFp +or3FY8XOAY/zX9wHdaqVe8F7oL3+s6HufIWrCUvHhcpfg7un8wG2YFRiJj2TOUCfdxm Pg5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=0o4E7M7A9kZ4JzmSB0p3DC/CVk2tR8Y3EJ1fYbI6mbM=; b=Cg1dBM37RquyaSgAwawsA6rMKnRdyX3Z8wUTNIB/P+NZrhzJOa3Ik/tuEYpvka8GjG MyHNl6OycnyfhEJDtEUrKn/kDh7Ht49yI9/y/11WSWAAtEMu4x0+B89jjd/dy+tG8lpw 6kIYMpKOK4gKJJ6Sy0d3Vc1H0+A3s1QrTTEMzIoHXw3zeabvhAlr8pshXX1cI1dD4F1g /am2y1YwbvFZX82GFQAbgZCl5V5o+mkhrmvwGkiI3gKwUYGYb5Fpqx7HUbe3Wi4ZsKb2 wcAED1OrRXvaEMu0l4W+qVzU8tQVooWCwfnjexWIwneMh4q1X4gSL8fNXWufJnMkC0Fl 1iBw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@broadcom.com header.s=google header.b=HPv5C+bB; 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; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b6-v6si2550516plm.202.2018.03.27.18.59.59; Tue, 27 Mar 2018 19:00:43 -0700 (PDT) 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; dkim=pass header.i=@broadcom.com header.s=google header.b=HPv5C+bB; 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; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752735AbeC1B4d (ORCPT + 99 others); Tue, 27 Mar 2018 21:56:33 -0400 Received: from mail-qk0-f195.google.com ([209.85.220.195]:45385 "EHLO mail-qk0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752311AbeC1B4c (ORCPT ); Tue, 27 Mar 2018 21:56:32 -0400 Received: by mail-qk0-f195.google.com with SMTP id s9so887224qke.12 for ; Tue, 27 Mar 2018 18:56:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=0o4E7M7A9kZ4JzmSB0p3DC/CVk2tR8Y3EJ1fYbI6mbM=; b=HPv5C+bBncxO3JJt9vr42Okljc487nWdbH/MAkbTKZU4yrAFLHEyGRQUdlLiU1FCXU vsoEIMmhJsqrbx40w7CeoGRcrCc+12wVktCD3EmNxyfpF4BDOzTt1geqPcXuEC1o5Abh vpRreRBaGnWlBKXohQyhZAWZAB6ixY/UzvysE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=0o4E7M7A9kZ4JzmSB0p3DC/CVk2tR8Y3EJ1fYbI6mbM=; b=H4rLGfycVoZbun92XNuug49SwZ452v8NHDJ5U1VdsmBRhmlWiiOLA7+qCvKeqFKY6N kL+wlWok6BCUGH6gtfx/cT+CHZRzJNxnlzZZR+XKAjKC3JqxGG3Ru+PCuTN0r/h0PHzd QiSQooN8uRU5k+zomeBkyonvoDK8hwBncQHXTakLFF7lWWL2KvY2vOctJBYlaAgEwqh0 oIk38GbE28V5iI2UidjqwTiYarYdhgTGqbEeJ5Hgf1H2eAE4MZOQKmG56DinQJJ6vHUU S5NEn977owsPcAvcxI8prgO0cAYA0lKb4G+3pY+2so0YibW3gJwHsMD6dvyOfKTQXEgT JNdg== X-Gm-Message-State: ALQs6tBR4Af3BtiVOPsbfUZ3VniocAQMDIShnsIoTVrVZvQDb5j95947 P5pc0T1wqEfmzIFpI2lQTFf2X9yzraFZ7VzeoHlccg== X-Received: by 10.55.16.135 with SMTP id 7mr1589985qkq.85.1522202191691; Tue, 27 Mar 2018 18:56:31 -0700 (PDT) MIME-Version: 1.0 Received: by 10.237.62.148 with HTTP; Tue, 27 Mar 2018 18:56:31 -0700 (PDT) In-Reply-To: <20180327234038.32241-1-f.fainelli@gmail.com> References: <20180327234038.32241-1-f.fainelli@gmail.com> From: Markus Mayer Date: Tue, 27 Mar 2018 18:56:31 -0700 Message-ID: Subject: Re: [PATCH] memory: brcmstb: dpfe: Remove need for dpfe_dev To: Florian Fainelli Cc: Linux ARM Kernel , "maintainer:BROADCOM STB DPFE DRIVER" , Brian Norris , Gregory Fong , open list Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 27 March 2018 at 16:40, Florian Fainelli wrote: > We can hook sysfs objects to the parent platform device that we are > created from, no need to have a synthetic dpfe_dev just for that. This > incidentally removes the need for having an index, since we are > guaranteed to have an unique path in the sysfs hiearchy. > > Signed-off-by: Florian Fainelli Looks good. Thanks. Acked-by: Markus Mayer > --- > drivers/memory/brcmstb_dpfe.c | 42 ++++++++++-------------------------------- > 1 file changed, 10 insertions(+), 32 deletions(-) > > diff --git a/drivers/memory/brcmstb_dpfe.c b/drivers/memory/brcmstb_dpfe.c > index 0a7bdbed3a6f..5f8d5aff6040 100644 > --- a/drivers/memory/brcmstb_dpfe.c > +++ b/drivers/memory/brcmstb_dpfe.c > @@ -168,7 +168,6 @@ struct private_data { > void __iomem *dmem; > void __iomem *imem; > struct device *dev; > - unsigned int index; > struct mutex lock; > }; > > @@ -628,10 +627,8 @@ static int brcmstb_dpfe_probe(struct platform_device *pdev) > { > struct device *dev = &pdev->dev; > struct private_data *priv; > - struct device *dpfe_dev; > struct init_data init; > struct resource *res; > - u32 index; > int ret; > > priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); > @@ -641,11 +638,6 @@ static int brcmstb_dpfe_probe(struct platform_device *pdev) > mutex_init(&priv->lock); > platform_set_drvdata(pdev, priv); > > - /* Cell index is optional; default to 0 if not present. */ > - ret = of_property_read_u32(dev->of_node, "cell-index", &index); > - if (ret) > - index = 0; > - > res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dpfe-cpu"); > priv->regs = devm_ioremap_resource(dev, res); > if (IS_ERR(priv->regs)) { > @@ -669,35 +661,20 @@ static int brcmstb_dpfe_probe(struct platform_device *pdev) > > ret = brcmstb_dpfe_download_firmware(pdev, &init); > if (ret) > - goto err; > - > - dpfe_dev = devm_kzalloc(dev, sizeof(*dpfe_dev), GFP_KERNEL); > - if (!dpfe_dev) { > - ret = -ENOMEM; > - goto err; > - } > - > - priv->dev = dpfe_dev; > - priv->index = index; > + return ret; > > - dpfe_dev->parent = dev; > - dpfe_dev->groups = dpfe_groups; > - dpfe_dev->of_node = dev->of_node; > - dev_set_drvdata(dpfe_dev, priv); > - dev_set_name(dpfe_dev, "dpfe%u", index); > + ret = sysfs_create_groups(&pdev->dev.kobj, dpfe_groups); > + if (!ret) > + dev_info(dev, "registered.\n"); > > - ret = device_register(dpfe_dev); > - if (ret) > - goto err; > + return ret; > +} > > - dev_info(dev, "registered.\n"); > +static int brcmstb_dpfe_remove(struct platform_device *pdev) > +{ > + sysfs_remove_groups(&pdev->dev.kobj, dpfe_groups); > > return 0; > - > -err: > - dev_err(dev, "failed to initialize -- error %d\n", ret); > - > - return ret; > } > > static const struct of_device_id brcmstb_dpfe_of_match[] = { > @@ -712,6 +689,7 @@ static struct platform_driver brcmstb_dpfe_driver = { > .of_match_table = brcmstb_dpfe_of_match, > }, > .probe = brcmstb_dpfe_probe, > + .remove = brcmstb_dpfe_remove, > .resume = brcmstb_dpfe_resume, > }; > > -- > 2.14.1 >