From: Simon Arlott <simon@fire.lp0.eu>
To: Jonas Gorski <jogo@openwrt.org>
Cc: Rob Herring <robh@kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
Brian Norris <computersforpeace@gmail.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
David Woodhouse <dwmw2@infradead.org>,
MTD Maling List <linux-mtd@lists.infradead.org>,
Pawel Moll <pawel.moll@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Kumar Gala <galak@codeaurora.org>,
Florian Fainelli <f.fainelli@gmail.com>
Subject: Re: [PATCH (v4) 2/2] mtd: brcmnand: Add support for the BCM63268
Date: Mon, 23 Nov 2015 18:38:13 +0000 [thread overview]
Message-ID: <56535D15.7070307@simon.arlott.org.uk> (raw)
In-Reply-To: <CAOiHx=mZpycf962D0snStBMDA=Pnexdrk6wok9MVQdHaLN8fAQ@mail.gmail.com>
On 23/11/15 15:42, Jonas Gorski wrote:
> On Sun, Nov 22, 2015 at 11:17 PM, Simon Arlott <simon@fire.lp0.eu> wrote:
>> + priv->clk = of_clk_get(dev->of_node, 0);
>
>
> Why not use a named clock here? That way you can make use of
> devm_clk_get and don't need to care about putting it.
Ok.
>> +
>> +static struct platform_driver bcm63268_nand_driver = {
>> + .probe = bcm63268_nand_probe,
>> + .remove = brcmnand_remove,
>> + .driver = {
>> + .name = "bcm63268_nand",
>> + .pm = &brcmnand_pm_ops,
>> + .of_match_table = bcm63268_nand_of_match,
>> + }
>> +};
>> +module_platform_driver(bcm63268_nand_driver);
>> +
>> +MODULE_LICENSE("GPL");
>> +MODULE_AUTHOR("Simon Arlott");
>> +MODULE_DESCRIPTION("NAND driver for BCM63268");
>> diff --git a/drivers/mtd/nand/brcmnand/brcmnand.c b/drivers/mtd/nand/brcmnand/brcmnand.c
>> index 2c8f67f..7b4988f 100644
>> --- a/drivers/mtd/nand/brcmnand/brcmnand.c
>> +++ b/drivers/mtd/nand/brcmnand/brcmnand.c
>> @@ -2270,6 +2270,9 @@ int brcmnand_remove(struct platform_device *pdev)
>> list_for_each_entry(host, &ctrl->host_list, node)
>> nand_release(&host->mtd);
>>
>> + if (ctrl->soc && ctrl->soc->remove_device)
>> + ctrl->soc->remove_device(ctrl->soc);
>> +
>
> This is a bit weird, why don't you just use your own .remove callback
> for the driver that like you did for .probe? then you won't need to
> add a remove_device callback at all.
I don't have access to the struct brcmnand_soc which is stored by
brcmnand_probe() as the containing struct is defined in brcmnand.c.
I could move that struct out to a header file and use it directly from a
bcm63268_nand_remove() function but I'd have to move a few other defines
too.
>> dev_set_drvdata(&pdev->dev, NULL);
>>
>> return 0;
>> diff --git a/drivers/mtd/nand/brcmnand/brcmnand.h b/drivers/mtd/nand/brcmnand/brcmnand.h
>> index ef5eabb..5c5dc2d 100644
>> --- a/drivers/mtd/nand/brcmnand/brcmnand.h
>> +++ b/drivers/mtd/nand/brcmnand/brcmnand.h
>> @@ -24,6 +24,7 @@ struct brcmnand_soc {
>> bool (*ctlrdy_ack)(struct brcmnand_soc *soc);
>> void (*ctlrdy_set_enabled)(struct brcmnand_soc *soc, bool en);
>> void (*prepare_data_bus)(struct brcmnand_soc *soc, bool prepare);
>> + void (*remove_device)(struct brcmnand_soc *soc);
>> };
>>
>> static inline void brcmnand_soc_data_bus_prepare(struct brcmnand_soc *soc)
>
>
> Jonas
>
--
Simon Arlott
next prev parent reply other threads:[~2015-11-23 18:38 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-21 13:10 [PATCH 1/2] mtd: brcmnand: Add brcm,nand-bcm63268 device tree binding Simon Arlott
[not found] ` <56506D55.3000907-qdVf85lJwsCyrPCCpiK2c/XRex20P6io@public.gmane.org>
2015-11-21 13:12 ` [PATCH 2/2] mtd: brcmnand: Add support for BCM63268 interrupts Simon Arlott
2015-11-21 17:04 ` [PATCH 2/2 (v2)] mtd: brcmnand: Add support for the BCM63268 Simon Arlott
[not found] ` <5650A402.7030404-qdVf85lJwsCyrPCCpiK2c/XRex20P6io@public.gmane.org>
2015-11-22 14:34 ` [PATCH (v3) 2/2] " Simon Arlott
2015-11-22 21:59 ` [PATCH 1/2] mtd: brcmnand: Add brcm,nand-bcm63268 device tree binding Rob Herring
2015-11-22 22:15 ` [PATCH (v4) 1/2] mtd: brcmnand: Add brcm,bcm63268-nand " Simon Arlott
2015-11-22 22:17 ` [PATCH (v4) 2/2] mtd: brcmnand: Add support for the BCM63268 Simon Arlott
2015-11-23 15:42 ` Jonas Gorski
2015-11-23 18:38 ` Simon Arlott [this message]
[not found] ` <56523EFF.9050502-qdVf85lJwsCyrPCCpiK2c/XRex20P6io@public.gmane.org>
2015-11-23 18:22 ` Florian Fainelli
2015-11-24 8:12 ` Simon Arlott
[not found] ` <56541BD3.4070202-qdVf85lJwsCyrPCCpiK2c/XRex20P6io@public.gmane.org>
2015-11-24 18:15 ` [PATCH (v5) " Simon Arlott
2015-11-24 18:41 ` [PATCH (v4) " Florian Fainelli
[not found] ` <5654AF69.7040901-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-11-24 20:19 ` [PATCH (v6) 1/2] mtd: brcmnand: Add brcm,bcm63268-nand device tree binding Simon Arlott
2015-11-24 20:21 ` [PATCH (v6) 2/2] mtd: brcmnand: Add support for the BCM63268 Simon Arlott
2015-11-25 10:44 ` Jonas Gorski
2015-11-25 12:37 ` Simon Arlott
2015-11-25 12:53 ` Jonas Gorski
2015-11-25 19:49 ` [PATCH (v7) " Simon Arlott
[not found] ` <565610B9.5040407-qdVf85lJwsCyrPCCpiK2c/XRex20P6io@public.gmane.org>
2015-12-02 19:18 ` Brian Norris
2015-12-02 19:54 ` Simon Arlott
2015-12-02 20:10 ` Brian Norris
2015-11-25 20:06 ` [PATCH (v6) 1/2] mtd: brcmnand: Add brcm,bcm63268-nand device tree binding Rob Herring
[not found] ` <afc6fb02d51a5378e315ade84a134eaf7a58a94f-dyyJQ+qCPjsfFgGGEbPnq5KvX+y0N6jJ2mWzQvkZbzCn6nfhxgf73RdaaeUjXGGo@public.gmane.org>
2015-12-02 19:05 ` Brian Norris
[not found] ` <20151202190555.GJ64635-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2015-12-02 19:36 ` Jonas Gorski
2015-12-02 19:38 ` Florian Fainelli
2015-12-02 20:02 ` Simon Arlott
[not found] ` <565F4E63.3030100-qdVf85lJwsCyrPCCpiK2c/XRex20P6io@public.gmane.org>
2015-12-02 21:44 ` Florian Fainelli
2015-12-02 19:41 ` Simon Arlott
2015-12-02 20:00 ` Brian Norris
2015-12-02 20:12 ` Simon Arlott
2015-12-02 20:21 ` Brian Norris
2015-12-02 20:24 ` Brian Norris
[not found] ` <20151202202127.GN64635-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2015-12-02 20:34 ` Simon Arlott
2015-12-02 20:48 ` Brian Norris
[not found] ` <56523E85.905-qdVf85lJwsCyrPCCpiK2c/XRex20P6io@public.gmane.org>
2015-11-22 22:23 ` [PATCH (v4) " Rob Herring
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56535D15.7070307@simon.arlott.org.uk \
--to=simon@fire.lp0.eu \
--cc=computersforpeace@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=dwmw2@infradead.org \
--cc=f.fainelli@gmail.com \
--cc=galak@codeaurora.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=jogo@openwrt.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=mark.rutland@arm.com \
--cc=pawel.moll@arm.com \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).