public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: Prabhakar Lad <prabhakar.csengg@gmail.com>
Cc: LMML <linux-media@vger.kernel.org>,
	Mauro Carvalho Chehab <mchehab@redhat.com>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	DLOS <davinci-linux-open-source@linux.davincidsp.com>,
	Hans Verkuil <hans.verkuil@cisco.com>,
	Guennadi Liakhovetski <g.liakhovetski@gmx.de>,
	LKML <linux-kernel@vger.kernel.org>,
	Sakari Ailus <sakari.ailus@iki.fi>,
	Sylwester Nawrocki <s.nawrocki@samsung.com>,
	Grant Likely <grant.likely@secretlab.ca>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Rob Herring <rob.herring@calxeda.com>,
	Rob Landley <rob@landley.net>,
	devicetree-discuss@lists.ozlabs.org, linux-doc@vger.kernel.org
Subject: Re: [PATCH RFC v3] media: i2c: mt9p031: add OF support
Date: Fri, 3 May 2013 16:34:38 +0200	[thread overview]
Message-ID: <201305031634.39129.arnd@arndb.de> (raw)
In-Reply-To: <1367563919-2880-1-git-send-email-prabhakar.csengg@gmail.com>

On Friday 03 May 2013, Prabhakar Lad wrote:
> 
> +static struct mt9p031_platform_data *
> +mt9p031_get_pdata(struct i2c_client *client)
> +{
> +       struct device_node *np;
> +       struct mt9p031_platform_data *pdata;
> +
> +       if (!IS_ENABLED(CONFIG_OF) || !client->dev.of_node)
> +               return client->dev.platform_data;
> +
> +       np = v4l2_of_get_next_endpoint(client->dev.of_node, NULL);
> +       if (!np)
> +               return NULL;
> +
> +       pdata = devm_kzalloc(&client->dev, sizeof(struct mt9p031_platform_data),
> +                            GFP_KERNEL);
> +       if (!pdata)
> +               return NULL;
> +
> +       pdata->reset = of_get_named_gpio(client->dev.of_node, "gpio-reset", 0);
> +       of_property_read_u32(np, "input-clock-frequency", &pdata->ext_freq);
> +       of_property_read_u32(np, "pixel-clock-frequency", &pdata->target_freq);
> +
> +       return pdata;
> +}

Ok, good.

> @@ -955,7 +998,17 @@ static int mt9p031_probe(struct i2c_client *client,
>         mt9p031->pdata = pdata;
>         mt9p031->output_control = MT9P031_OUTPUT_CONTROL_DEF;
>         mt9p031->mode2 = MT9P031_READ_MODE_2_ROW_BLC;
> -       mt9p031->model = did->driver_data;
> +
> +       if (!client->dev.of_node) {
> +               mt9p031->model = (enum mt9p031_model)did->driver_data;
> +       } else {
> +               const struct of_device_id *of_id;
> +
> +               of_id = of_match_device(of_match_ptr(mt9p031_of_match),
> +                                       &client->dev);
> +               if (of_id)
> +                       mt9p031->model = (enum mt9p031_model)of_id->data;
> +       }
>         mt9p031->reset = -1;

Is this actually required? I thought the i2c core just compared the
part of the "compatible" value after the first comma to the string, so
"mt9p031->model = (enum mt9p031_model)did->driver_data" should work
in both cases.

	Arnd

  reply	other threads:[~2013-05-03 14:35 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-03  6:51 [PATCH RFC v3] media: i2c: mt9p031: add OF support Prabhakar Lad
2013-05-03 14:34 ` Arnd Bergmann [this message]
2013-05-06 14:59   ` Prabhakar Lad
2013-05-07  9:40     ` Prabhakar Lad
2013-05-08  2:02       ` Laurent Pinchart
2013-05-08  4:49         ` Prabhakar Lad
2013-05-08 10:37           ` Laurent Pinchart
2013-05-08 12:43             ` Prabhakar Lad
2013-05-13 10:46             ` Sascha Hauer
2013-05-13 22:59               ` Laurent Pinchart
2013-05-14  5:13                 ` Sascha Hauer
2013-05-08  2:01 ` Laurent Pinchart
2013-05-08  4:47   ` Prabhakar Lad

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=201305031634.39129.arnd@arndb.de \
    --to=arnd@arndb.de \
    --cc=davinci-linux-open-source@linux.davincidsp.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=g.liakhovetski@gmx.de \
    --cc=grant.likely@secretlab.ca \
    --cc=hans.verkuil@cisco.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@redhat.com \
    --cc=prabhakar.csengg@gmail.com \
    --cc=rob.herring@calxeda.com \
    --cc=rob@landley.net \
    --cc=s.hauer@pengutronix.de \
    --cc=s.nawrocki@samsung.com \
    --cc=sakari.ailus@iki.fi \
    /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