From mboxrd@z Thu Jan 1 00:00:00 1970 From: aisheng.dong@freescale.com (Dong Aisheng) Date: Wed, 14 Mar 2012 15:26:04 +0800 Subject: [PATCH v1 2/5] mmc: mxs-mmc: add dt probe support In-Reply-To: <201203140809.22676.marek.vasut@gmail.com> References: <1331628428-24017-1-git-send-email-b29396@freescale.com> <201203140658.25854.marek.vasut@gmail.com> <20120314065512.GB25735@shlinux2.ap.freescale.net> <201203140809.22676.marek.vasut@gmail.com> Message-ID: <20120314072603.GC8494@shlinux2.ap.freescale.net> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Wed, Mar 14, 2012 at 08:09:22AM +0100, Marek Vasut wrote: > Dear Dong Aisheng, > > > On Wed, Mar 14, 2012 at 01:58:25PM +0800, Marek Vasut wrote: > > > Dear Dong Aisheng, > > > > > > > Signed-off-by: Dong Aisheng > > > > ........ > > > > > > +static const struct of_device_id mxs_mmc_dt_ids[] = { > > > > + { .compatible = "fsl,imx23-mmc", .data = NULL, }, > > > > + { .compatible = "fsl,imx28-mmc", .data = NULL, }, > > > > > > Do you really need two distinct ones here? > > > > Hmm, my original purpose is to put soc difference data in .data > > to remove cpu_is_* function calls in the driver later. > > Do you think if any issue? > > > > Well, what's the difference between the interfaces on mx233 and mx28? Is it > something that can't be encoded otherwise? I think they're not so different. > Not much difference except the one register offset and ip version. See: #define SSP_VERSION_LATEST 4 #define ssp_is_old() (host->version < SSP_VERSION_LATEST) .. #define HW_SSP_VERSION (cpu_is_mx23() ? 0x110 : 0x130) The ip version can be handled in driver, but for offset... it depends on cpu_is_* macro. Putting the HW_SSP_VERSION offset difference in .data can eliminate the need of cpu_is_*. Despite of that, since they're two devices, i guess it's ok to put two compatible string there, right? Or you thought just put one as below? { .compatible = "fsl,mxs-mmc", .data = NULL, }, Regards Dong Aisheng