All of lore.kernel.org
 help / color / mirror / Atom feed
From: Linus Walleij <linus.walleij@linaro.org>
To: Sebastian Reichel <sre@debian.org>
Cc: "Sebastian Reichel" <sre@ring0.de>,
	"Shubhrajyoti Datta" <omaplinuxkernel@gmail.com>,
	"Carlos Chinea" <cch.devel@gmail.com>,
	"Tony Lindgren" <tony@atomide.com>,
	"Grant Likely" <grant.likely@linaro.org>,
	"Rob Herring" <rob.herring@calxeda.com>,
	"Pawel Moll" <pawel.moll@arm.com>,
	"Mark Rutland" <mark.rutland@arm.com>,
	"Stephen Warren" <swarren@wwwdotorg.org>,
	"Ian Campbell" <ijc+devicetree@hellion.org.uk>,
	"Rob Landley" <rob@landley.net>,
	"Benoît Cousson" <bcousson@baylibre.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Linux-OMAP <linux-omap@vger.kernel.org>,
	"Pali Rohár" <pali.rohar@gmail.com>,
	"Ивайло Димитров" <freemangordon@abv.bg>,
	"Joni Lapilainen" <joni.lapilainen@gmail.com>,
	"Aaro Koskinen" <aaro.koskinen@iki.fi>
Subject: Re: [RFCv4 06/11] misc: Introduce Nokia CMT driver
Date: Mon, 16 Dec 2013 10:48:06 +0100	[thread overview]
Message-ID: <CACRpkdYjjXgE_W8gq1e6z=nGMF=r-m+o2kkvrBFrEMm3o0=RwQ@mail.gmail.com> (raw)
In-Reply-To: <1387150085-23173-7-git-send-email-sre@debian.org>

On Mon, Dec 16, 2013 at 12:27 AM, Sebastian Reichel <sre@debian.org> wrote:

> Add driver handling GPIO pins of Nokia modems. The
> driver provides reset notifications, so that SSI
> clients can subscribe to them easily.
>
> Signed-off-by: Sebastian Reichel <sre@debian.org>

If the driver provides reset notifications, should it rather be
in drivers/reset?

I'm thinking of a generic GPIO reset driver with a generic
notification mechanism, which seems to be what this is.

I.e. it doesn't look device-specific at all, just like some
generic glue code that could be useful to many such
scenarios.

> +config NOKIA_CMT
> +       tristate "Enable CMT support"
> +       help
> +       If you say Y here, you will enable CMT support.
> +
> +       If unsure, say Y, or else you will not be able to use the CMT.

None of this explains what this driver actually does and what
CMT means, so please rewrite this a bit to be more helpful.
The way it is written it could as well say "enable FOO support".

> +++ b/drivers/misc/nokia-cmt.c
> @@ -0,0 +1,298 @@
> +/*
> + * CMT support.

So CMT = ...?

> +/**
> + * struct cmt_device - CMT device data
> + * @cmt_rst_ind_tasklet: Bottom half for CMT reset line events
> + * @cmt_rst_ind_irq: IRQ number of the CMT reset line
> + * @n_head: List of notifiers registered to get CMT events
> + * @node: Link on the list of available CMTs
> + * @device: Reference to the CMT platform device
> + */
> +struct cmt_device {
> +       struct tasklet_struct           cmt_rst_ind_tasklet;
> +       unsigned int                    cmt_rst_ind_irq;
> +       struct atomic_notifier_head     n_head;
> +       struct list_head                node;
> +       struct device                   *device;
> +       struct cmt_gpio                 *gpios;
> +       int                             gpio_amount;
> +};

The kerneldoc and and the struct are not in sync. Look
this over.

> +static LIST_HEAD(cmt_list);    /* List of CMT devices */
(...)
> +struct cmt_device *cmt_get(const char *name)
> +{
> +       struct cmt_device *p, *cmt = ERR_PTR(-ENODEV);
> +
> +       list_for_each_entry(p, &cmt_list, node)
> +               if (strcmp(name, dev_name(p->device)) == 0) {
> +                       cmt = p;
> +                       break;
> +               }
> +
> +       return cmt;
> +}
> +EXPORT_SYMBOL_GPL(cmt_get);

Is this driver used on non-DT platforms, or can we skip this
struct device * referencing altogether?

I would feel better if this driver looked more like
drivers/mfd/syscon.c

> +static irqreturn_t cmt_rst_ind_isr(int irq, void *cmtdev)
> +{
> +       struct cmt_device *cmt = (struct cmt_device *)cmtdev;
> +
> +       tasklet_schedule(&cmt->cmt_rst_ind_tasklet);
> +
> +       return IRQ_HANDLED;
> +}

Why are you using a tasklet rather than a work
for this?

Yours,
Linus Walleij

  reply	other threads:[~2013-12-16  9:48 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-15 23:27 [RFCv4 00/11] OMAP SSI driver / N900 modem support Sebastian Reichel
2013-12-15 23:27 ` Sebastian Reichel
2013-12-15 23:27 ` [RFCv4 01/11] HSI: method to unregister clients from an hsi port Sebastian Reichel
2013-12-15 23:27 ` [RFCv4 02/11] HSI: hsi-char: add Device Tree support Sebastian Reichel
2013-12-15 23:27 ` [RFCv4 03/11] HSI: hsi-char: fix driver for multiport scenarios Sebastian Reichel
2013-12-15 23:27 ` [RFCv4 04/11] ARM: OMAP2+: HSI: Introduce OMAP SSI driver Sebastian Reichel
2013-12-15 23:27 ` [RFCv4 05/11] Documentation: DT: omap-ssi binding documentation Sebastian Reichel
2013-12-19 19:03   ` Tony Lindgren
2014-01-10 23:52     ` Sebastian Reichel
2014-01-10 23:52       ` Sebastian Reichel
2013-12-15 23:27 ` [RFCv4 06/11] misc: Introduce Nokia CMT driver Sebastian Reichel
2013-12-16  9:48   ` Linus Walleij [this message]
2013-12-16 12:15     ` Sebastian Reichel
2013-12-16 13:31       ` Linus Walleij
2013-12-16 18:34         ` Sebastian Reichel
2013-12-17 17:58           ` Ivajlo Dimitrov
2013-12-17 17:58             ` Ivajlo Dimitrov
2013-12-17 23:25             ` Sebastian Reichel
2013-12-17 23:25               ` Sebastian Reichel
2013-12-22 10:22               ` Linus Walleij
2013-12-22 10:22                 ` Linus Walleij
2013-12-15 23:28 ` [RFCv4 07/11] Documentation: DT: nokia-cmt binding documentation Sebastian Reichel
2013-12-15 23:28 ` [RFCv4 08/11] HSI: Introduce driver for SSI Protocol Sebastian Reichel
2013-12-15 23:28 ` [RFCv4 09/11] DTS: ARM: OMAP3-N900: Add SSI support Sebastian Reichel
2013-12-15 23:28 ` [RFCv4 10/11] DTS: ARM: OMAP3-N900: Add CMT support Sebastian Reichel
2013-12-15 23:28 ` [RFCv4 11/11] DTS: ARM: OMAP3-N900: Add SSI protocol support Sebastian Reichel

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='CACRpkdYjjXgE_W8gq1e6z=nGMF=r-m+o2kkvrBFrEMm3o0=RwQ@mail.gmail.com' \
    --to=linus.walleij@linaro.org \
    --cc=aaro.koskinen@iki.fi \
    --cc=bcousson@baylibre.com \
    --cc=cch.devel@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=freemangordon@abv.bg \
    --cc=grant.likely@linaro.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=joni.lapilainen@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=omaplinuxkernel@gmail.com \
    --cc=pali.rohar@gmail.com \
    --cc=pawel.moll@arm.com \
    --cc=rob.herring@calxeda.com \
    --cc=rob@landley.net \
    --cc=sre@debian.org \
    --cc=sre@ring0.de \
    --cc=swarren@wwwdotorg.org \
    --cc=tony@atomide.com \
    /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.