All of lore.kernel.org
 help / color / mirror / Atom feed
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

  reply	other threads:[~2015-11-23 18:38 UTC|newest]

Thread overview: 50+ 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
2015-11-21 13:10 ` [PATCH 1/2] mtd: brcmnand: Add brcm,nand-bcm63268 " Simon Arlott
2015-11-21 13:10 ` Simon Arlott
2015-11-21 13:12 ` [PATCH 2/2] mtd: brcmnand: Add support for BCM63268 interrupts Simon Arlott
2015-11-21 13:12   ` Simon Arlott
2015-11-21 17:04   ` [PATCH 2/2 (v2)] mtd: brcmnand: Add support for the BCM63268 Simon Arlott
2015-11-22 14:34     ` [PATCH (v3) 2/2] " Simon Arlott
2015-11-22 14:34       ` 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:15     ` 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]
2015-11-23 18:22       ` Florian Fainelli
2015-11-23 18:22         ` Florian Fainelli
2015-11-24  8:12         ` Simon Arlott
2015-11-24 18:15           ` [PATCH (v5) " Simon Arlott
2015-11-24 18:15             ` Simon Arlott
2015-11-24 18:41           ` [PATCH (v4) " Florian Fainelli
2015-11-24 20:19             ` [PATCH (v6) 1/2] mtd: brcmnand: Add brcm,bcm63268-nand device tree binding Simon Arlott
2015-11-24 20:19               ` 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
2015-12-02 19:18                         ` Brian Norris
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
2015-12-02 19:05               ` Brian Norris
2015-12-02 19:05                 ` Brian Norris
2015-12-02 19:36                 ` Jonas Gorski
2015-12-02 19:36                   ` Jonas Gorski
2015-12-02 19:38                 ` Florian Fainelli
2015-12-02 20:02                   ` Simon Arlott
2015-12-02 21:44                     ` Florian Fainelli
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
2015-12-02 20:34                         ` Simon Arlott
2015-12-02 20:34                           ` Simon Arlott
2015-12-02 20:48                           ` Brian Norris
2015-11-22 22:23     ` [PATCH (v4) " Rob Herring
2015-11-22 22:23       ` 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.