From mboxrd@z Thu Jan 1 00:00:00 1970 From: Guennadi Liakhovetski Date: Sun, 13 Mar 2011 22:51:40 +0000 Subject: Re: [PATCH 1/6] mmc: tmio: split core functionality, DMA and MFD Message-Id: List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable To: Magnus Damm Cc: linux-sh@vger.kernel.org, linux-mmc@vger.kernel.org, Chris Ball , Ian Molton On Sun, 13 Mar 2011, Magnus Damm wrote: > On Sun, Mar 13, 2011 at 7:48 AM, Guennadi Liakhovetski > wrote: > > On Sun, 13 Mar 2011, Magnus Damm wrote: > > > >> On Fri, Mar 11, 2011 at 4:51 PM, Guennadi Liakhovetski > >> wrote: > >> > TMIO MMC chips contain an SD / SDIO IP core from Panasonic, similar = to > >> > the one, used in MN5774 and other MN57xx controllers. These IP cores= are > >> > included in many multifunction devices, in sh-mobile chips from Rene= sas, > >> > in the latter case they can also use DMA. Some sh-mobile implementat= ions > >> > also have some other specialities, that MFD-based solutions don't ha= ve. > >> > This makes supporting all these features in a monolithic driver inco= nveniet > >> > and error-prone. This patch splits the driver into 3 parts: the core, > >> > the MFD glue and the DMA support. In case of a modular build, two mo= dules > >> > will be built: mmc_tmio_core and mmc_tmio. > >> > > >> > Signed-off-by: Guennadi Liakhovetski > >> > --- > >> > >> Thanks for your work on this, I'm happy to see these patches because > >> they make it easier for me to add multi-interrupt source to the SDHI > >> portion - something that is needed for sh73a0. > >> > >> > =A0drivers/mmc/host/Kconfig =A0 =A0 =A0 =A0| =A0 =A04 + > >> > =A0drivers/mmc/host/Makefile =A0 =A0 =A0 | =A0 =A03 + > >> > =A0drivers/mmc/host/tmio_mmc.c =A0 =A0 | 1303 +---------------------= ----------------- > >> > =A0drivers/mmc/host/tmio_mmc.h =A0 =A0 | =A0152 +++++ > >> > =A0drivers/mmc/host/tmio_mmc_dma.c | =A0302 +++++++++ > >> > =A0drivers/mmc/host/tmio_mmc_pio.c | =A0923 ++++++++++++++++++++++++= +++ > >> > =A06 files changed, 1402 insertions(+), 1285 deletions(-) > >> > =A0create mode 100644 drivers/mmc/host/tmio_mmc.h > >> > =A0create mode 100644 drivers/mmc/host/tmio_mmc_dma.c > >> > =A0create mode 100644 drivers/mmc/host/tmio_mmc_pio.c > >> > >> Something is wrong with this patch. The Makefile adds tmio_mmc_core.c > >> but it's not part of the diffstat above. Perhaps you're posting an > >> older version of the patch? > > > > No, the Makefile is adding tmio_mmc_core.o: > > > > diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile > > index 30aa686..79c42dd 100644 > > --- a/drivers/mmc/host/Makefile > > +++ b/drivers/mmc/host/Makefile > > @@ -29,6 +29,9 @@ endif > > =A0obj-$(CONFIG_MMC_S3C) =A0 =A0 =A0 =A0 =A0+=3D s3cmci.o > > =A0obj-$(CONFIG_MMC_SDRICOH_CS) =A0 +=3D sdricoh_cs.o > > =A0obj-$(CONFIG_MMC_TMIO) =A0 =A0 =A0 =A0 +=3D tmio_mmc.o > > +obj-$(CONFIG_MMC_TMIO_CORE) =A0 =A0+=3D tmio_mmc_core.o > > +tmio_mmc_core-y =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0:=3D tm= io_mmc_pio.o > > +tmio_mmc_core-$(CONFIG_TMIO_MMC_DMA) =A0 +=3D tmio_mmc_dma.o > > =A0obj-$(CONFIG_MMC_CB710) =A0 =A0 =A0 =A0+=3D cb710-mmc.o > > =A0obj-$(CONFIG_MMC_VIA_SDMMC) =A0 =A0+=3D via-sdmmc.o > > =A0obj-$(CONFIG_SDH_BFIN) =A0 =A0 =A0 =A0 +=3D bfin_sdh.o > > > > which is linked from two source files. Looks correct to me. >=20 > Ok, sorry, my mistake. >=20 > What's the reason behind creating tmio_mmc_core.o instead of simply > having tmio_mmc_pio.o + tmio_mmc_dma.o? That must be the most > straightforward solution, no? You mean two kernel modules ..._pio.ko and ..._dma.ko? but why?... I don't = see any advantages in such a split, besides, they are calling into each=20 other ATM. Thanks Guennadi --- Guennadi Liakhovetski, Ph.D. Freelance Open-Source Software Developer http://www.open-technology.de/