diff for duplicates of <201301212249.11173.marex@denx.de> diff --git a/a/1.txt b/N1/1.txt index 8bb5dac..c067207 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,84 +1,79 @@ Dear Lars-Peter Clausen, > On 01/21/2013 10:32 PM, Marek Vasut wrote: -> > Dear Micha=C5=82 Miros=C5=82aw, -> >=20 +> > Dear Micha? Miros?aw, +> > > >> 2013/1/21 Marek Vasut <marex@denx.de>: -> >>> Dear Micha=C5=82 Miros=C5=82aw, -> >>>=20 +> >>> Dear Micha? Miros?aw, +> >>> > >>>> 2013/1/21 Marek Vasut <marex@denx.de>: > >>>>> This patch adds support for i.MX23 into the LRADC driver. The LRADC > >>>>> block on MX23 is not much different from the one on MX28, thus this > >>>>> is only a few changes fixing the parts that are specific to MX23. -> >>>>=20 +> >>>> > >>>> [...] -> >>>>=20 +> >>>> > >>>>> +struct mxs_lradc_of_config { > >>>>> + const int irq_count; > >>>>> + const char * const *irq_name; > >>>>> +}; > >>>>> + > >>>>> +static const struct mxs_lradc_of_config const mxs_lradc_of_config[] -> >>>>> =3D { + [IMX23_LRADC] =3D { -> >>>>> + .irq_count =3D ARRAY_SIZE(mx23_lradc_irq_names= -), -> >>>>> + .irq_name =3D mx23_lradc_irq_names, +> >>>>> = { + [IMX23_LRADC] = { +> >>>>> + .irq_count = ARRAY_SIZE(mx23_lradc_irq_names), +> >>>>> + .irq_name = mx23_lradc_irq_names, > >>>>> + }, -> >>>>> + [IMX28_LRADC] =3D { -> >>>>> + .irq_count =3D ARRAY_SIZE(mx28_lradc_irq_names= -), -> >>>>> + .irq_name =3D mx28_lradc_irq_names, +> >>>>> + [IMX28_LRADC] = { +> >>>>> + .irq_count = ARRAY_SIZE(mx28_lradc_irq_names), +> >>>>> + .irq_name = mx28_lradc_irq_names, > >>>>> + }, > >>>>> +}; > >>>>> + -> >>>>>=20 +> >>>>> > >>>>> enum mxs_lradc_ts { -> >>>>> =20 -> >>>>> MXS_LRADC_TOUCHSCREEN_NONE =3D 0, +> >>>>> +> >>>>> MXS_LRADC_TOUCHSCREEN_NONE = 0, > >>>>> MXS_LRADC_TOUCHSCREEN_4WIRE, -> >>>>>=20 +> >>>>> > >>>>> @@ -857,8 +890,19 @@ static void mxs_lradc_hw_stop(struct mxs_lradc > >>>>> *lradc) -> >>>>>=20 +> >>>>> > >>>>> writel(0, lradc->base + LRADC_DELAY(i)); -> >>>>> =20 +> >>>>> > >>>>> } -> >>>>>=20 -> >>>>> +static const struct of_device_id mxs_lradc_dt_ids[] =3D { -> >>>>> + { .compatible =3D "fsl,imx23-lradc", .data =3D (void -> >>>>> *)IMX23_LRADC, }, + { .compatible =3D "fsl,imx28-lradc", .dat= -a =3D +> >>>>> +> >>>>> +static const struct of_device_id mxs_lradc_dt_ids[] = { +> >>>>> + { .compatible = "fsl,imx23-lradc", .data = (void +> >>>>> *)IMX23_LRADC, }, + { .compatible = "fsl,imx28-lradc", .data = > >>>>> (void > >>>>> *)IMX28_LRADC, }, + { /* sentinel */ } > >>>>> +}; > >>>>> +MODULE_DEVICE_TABLE(of, mxs_lradc_dt_ids); > >>>>> + -> >>>>=20 +> >>>> > >>>> Why not s/(void \*)\(IMX.._LRADC\)/\&mxs_lradc_of_config[\1]/ ? -> >>>=20 -> >>> Check the register layout, it differs between MX23 and MX28, that's o= -ne -> >>> reason, since were we to access differently placed registers, we can = -do +> >>> +> >>> Check the register layout, it differs between MX23 and MX28, that's one +> >>> reason, since were we to access differently placed registers, we can do > >>> it easily as in the SSP/I2C drivers. -> >>>=20 +> >>> > >>> Moreover, there are some features on the MX28 that are not on the MX23 > >>> (like voltage treshold triggers and touchbuttons), with this setup, we > >>> can easily check what we're running at at runtime and determine to > >>> disallow these. -> >>>=20 +> >>> > >>> From my point of view, using the number (IMX23_LRADC / IMX28_LRADC) is > >>> much more convenient in the long run. -> >>=20 +> >> > >> I'm asking, because you don't use this number anywhere other than in > >> mxs_lradc_probe() > >> and there only to dereference the irq-names table. After that the > >> structure and number > >> are forgotten. -> >=20 +> > > > Certainly, so far it's used only this way. But please see my argument > > about register layout, that's why I went down this road of abstraction. ->=20 +> > You'll probably be better of by putting these differences into the > mxs_lradc_of_config struct as well, instead of adding switch statements > here and there throughout the code. diff --git a/a/content_digest b/N1/content_digest index 4658ae3..efb8f53 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,99 +1,88 @@ "ref\01358798722-25102-1-git-send-email-marex@denx.de\0" "ref\0201301212232.52161.marex@denx.de\0" "ref\050FDB517.700@metafoo.de\0" - "From\0Marek Vasut <marex@denx.de>\0" - "Subject\0Re: [PATCH 1/2] iio: mxs: Add MX23 support into the IIO driver\0" + "From\0marex@denx.de (Marek Vasut)\0" + "Subject\0[PATCH 1/2] iio: mxs: Add MX23 support into the IIO driver\0" "Date\0Mon, 21 Jan 2013 22:49:10 +0100\0" - "To\0Lars-Peter Clausen <lars@metafoo.de>\0" - "Cc\0Micha\305\202 Miros\305\202aw <mirqus@gmail.com>" - linux-iio@vger.kernel.org - Fabio Estevam <fabio.estevam@freescale.com> - Shawn Guo <shawn.guo@linaro.org> - Jonathan Cameron <jic23@kernel.org> - " linux-arm-kernel@lists.infradead.org\0" + "To\0linux-arm-kernel@lists.infradead.org\0" "\00:1\0" "b\0" "Dear Lars-Peter Clausen,\n" "\n" "> On 01/21/2013 10:32 PM, Marek Vasut wrote:\n" - "> > Dear Micha=C5=82 Miros=C5=82aw,\n" - "> >=20\n" + "> > Dear Micha? Miros?aw,\n" + "> > \n" "> >> 2013/1/21 Marek Vasut <marex@denx.de>:\n" - "> >>> Dear Micha=C5=82 Miros=C5=82aw,\n" - "> >>>=20\n" + "> >>> Dear Micha? Miros?aw,\n" + "> >>> \n" "> >>>> 2013/1/21 Marek Vasut <marex@denx.de>:\n" "> >>>>> This patch adds support for i.MX23 into the LRADC driver. The LRADC\n" "> >>>>> block on MX23 is not much different from the one on MX28, thus this\n" "> >>>>> is only a few changes fixing the parts that are specific to MX23.\n" - "> >>>>=20\n" + "> >>>> \n" "> >>>> [...]\n" - "> >>>>=20\n" + "> >>>> \n" "> >>>>> +struct mxs_lradc_of_config {\n" "> >>>>> + const int irq_count;\n" "> >>>>> + const char * const *irq_name;\n" "> >>>>> +};\n" "> >>>>> +\n" "> >>>>> +static const struct mxs_lradc_of_config const mxs_lradc_of_config[]\n" - "> >>>>> =3D { + [IMX23_LRADC] =3D {\n" - "> >>>>> + .irq_count =3D ARRAY_SIZE(mx23_lradc_irq_names=\n" - "),\n" - "> >>>>> + .irq_name =3D mx23_lradc_irq_names,\n" + "> >>>>> = { + [IMX23_LRADC] = {\n" + "> >>>>> + .irq_count = ARRAY_SIZE(mx23_lradc_irq_names),\n" + "> >>>>> + .irq_name = mx23_lradc_irq_names,\n" "> >>>>> + },\n" - "> >>>>> + [IMX28_LRADC] =3D {\n" - "> >>>>> + .irq_count =3D ARRAY_SIZE(mx28_lradc_irq_names=\n" - "),\n" - "> >>>>> + .irq_name =3D mx28_lradc_irq_names,\n" + "> >>>>> + [IMX28_LRADC] = {\n" + "> >>>>> + .irq_count = ARRAY_SIZE(mx28_lradc_irq_names),\n" + "> >>>>> + .irq_name = mx28_lradc_irq_names,\n" "> >>>>> + },\n" "> >>>>> +};\n" "> >>>>> +\n" - "> >>>>>=20\n" + "> >>>>> \n" "> >>>>> enum mxs_lradc_ts {\n" - "> >>>>> =20\n" - "> >>>>> MXS_LRADC_TOUCHSCREEN_NONE =3D 0,\n" + "> >>>>> \n" + "> >>>>> MXS_LRADC_TOUCHSCREEN_NONE = 0,\n" "> >>>>> MXS_LRADC_TOUCHSCREEN_4WIRE,\n" - "> >>>>>=20\n" + "> >>>>> \n" "> >>>>> @@ -857,8 +890,19 @@ static void mxs_lradc_hw_stop(struct mxs_lradc\n" "> >>>>> *lradc)\n" - "> >>>>>=20\n" + "> >>>>> \n" "> >>>>> writel(0, lradc->base + LRADC_DELAY(i));\n" - "> >>>>> =20\n" + "> >>>>> \n" "> >>>>> }\n" - "> >>>>>=20\n" - "> >>>>> +static const struct of_device_id mxs_lradc_dt_ids[] =3D {\n" - "> >>>>> + { .compatible =3D \"fsl,imx23-lradc\", .data =3D (void\n" - "> >>>>> *)IMX23_LRADC, }, + { .compatible =3D \"fsl,imx28-lradc\", .dat=\n" - "a =3D\n" + "> >>>>> \n" + "> >>>>> +static const struct of_device_id mxs_lradc_dt_ids[] = {\n" + "> >>>>> + { .compatible = \"fsl,imx23-lradc\", .data = (void\n" + "> >>>>> *)IMX23_LRADC, }, + { .compatible = \"fsl,imx28-lradc\", .data =\n" "> >>>>> (void\n" "> >>>>> *)IMX28_LRADC, }, + { /* sentinel */ }\n" "> >>>>> +};\n" "> >>>>> +MODULE_DEVICE_TABLE(of, mxs_lradc_dt_ids);\n" "> >>>>> +\n" - "> >>>>=20\n" + "> >>>> \n" "> >>>> Why not s/(void \\*)\\(IMX.._LRADC\\)/\\&mxs_lradc_of_config[\\1]/ ?\n" - "> >>>=20\n" - "> >>> Check the register layout, it differs between MX23 and MX28, that's o=\n" - "ne\n" - "> >>> reason, since were we to access differently placed registers, we can =\n" - "do\n" + "> >>> \n" + "> >>> Check the register layout, it differs between MX23 and MX28, that's one\n" + "> >>> reason, since were we to access differently placed registers, we can do\n" "> >>> it easily as in the SSP/I2C drivers.\n" - "> >>>=20\n" + "> >>> \n" "> >>> Moreover, there are some features on the MX28 that are not on the MX23\n" "> >>> (like voltage treshold triggers and touchbuttons), with this setup, we\n" "> >>> can easily check what we're running at at runtime and determine to\n" "> >>> disallow these.\n" - "> >>>=20\n" + "> >>> \n" "> >>> From my point of view, using the number (IMX23_LRADC / IMX28_LRADC) is\n" "> >>> much more convenient in the long run.\n" - "> >>=20\n" + "> >> \n" "> >> I'm asking, because you don't use this number anywhere other than in\n" "> >> mxs_lradc_probe()\n" "> >> and there only to dereference the irq-names table. After that the\n" "> >> structure and number\n" "> >> are forgotten.\n" - "> >=20\n" + "> > \n" "> > Certainly, so far it's used only this way. But please see my argument\n" "> > about register layout, that's why I went down this road of abstraction.\n" - ">=20\n" + "> \n" "> You'll probably be better of by putting these differences into the\n" "> mxs_lradc_of_config struct as well, instead of adding switch statements\n" "> here and there throughout the code.\n" @@ -103,4 +92,4 @@ "Best regards,\n" Marek Vasut -edd5ae19583cb0c408e09b33e24d35ff9ae9b8173ba64f0a2b09dc5745b326f6 +f839731c179c875395e0aa4569cf91f5a7b2f5bf751704e428b78316115c031e
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.