From mboxrd@z Thu Jan 1 00:00:00 1970 From: Felipe Balbi Subject: Re: [PATCH]: Fixing blksz_bits calling inside drivers/mmc/mmc.c and drivers/mmc/omap.c Date: Fri, 27 Oct 2006 12:30:43 -0400 Message-ID: <45423433.20404@nokia.com> References: <45422209.3090602@nokia.com> <45422DA7.4060900@gmail.com> <454231E4.3020007@nokia.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <454231E4.3020007@nokia.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-omap-open-source-bounces@linux.omap.com Errors-To: linux-omap-open-source-bounces@linux.omap.com Cc: Linux OMAP Mailing List List-Id: linux-omap@vger.kernel.org I just saw an error in the patch generation... (...) --- linux-omap/drivers/mmc/mmc.c 2006-10-26 06:42:31.000000000 -0400 +++ linux-omap-dev/drivers/mmc/mmc.c 2006-10-26 09:53:24.000000000 -0400 @@ -996,7 +996,7 @@ mmc_set_data_timeout(&data, card, 0); - data.blksz = 1 << 3; + data.blksz_bits = 1 << 3; data.blocks = 1; data.flags = MMC_DATA_READ; data.sg = &sg; The module should actually be inverted here... just like: (...) --- linux-omap/drivers/mmc/mmc.c 2006-10-26 06:42:31.000000000 -0400 +++ linux-omap-dev/drivers/mmc/mmc.c 2006-10-26 09:53:24.000000000 -0400 @@ -996,7 +996,7 @@ mmc_set_data_timeout(&data, card, 0); - data.blksz_bits = 1 << 3; + data.blksz = 1 << 3; data.blocks = 1; data.flags = MMC_DATA_READ; data.sg = &sg; I look at my quilt "repository" and the patch is ok... Don't know how that happened. ext Felipe Balbi wrote: > ext Dirk Behme wrote: >> Felipe Balbi wrote: >>> This small patch solves the problem ;-) >>> >>> Here's the error dump: >>> drivers/mmc/omap.c: In function 'mmc_omap_prepare_dma': >>> drivers/mmc/omap.c:636: error: 'struct mmc_data' has no member named >>> 'blksz_bits' >>> drivers/mmc/omap.c:639: error: 'struct mmc_data' has no member named >>> 'blksz_bits' >>> drivers/mmc/omap.c: In function 'mmc_omap_prepare_data': >>> drivers/mmc/omap.c:828: error: 'struct mmc_data' has no member named >>> 'blksz_bits' >>> >>> Obs: The same occurs for drivers/mmc/mmc.c file >>> >>> >>> ------------------------------------------------------------------------ >>> >>> >>> Index: linux-omap/drivers/mmc/omap.c >>> =================================================================== >>> --- linux-omap.orig/drivers/mmc/omap.c 2006-10-27 >>> 09:18:34.000000000 -0400 >>> +++ linux-omap/drivers/mmc/omap.c 2006-10-27 11:03:14.000000000 >>> -0400 >>> @@ -633,10 +633,10 @@ mmc_omap_prepare_dma(struct mmc_omap_hos >>> int sync_dev = 0; >>> >>> data_addr = host->phys_base + OMAP_MMC_REG_DATA; >>> - frame = 1 << data->blksz_bits; >>> + frame = 1 << data->blksz; >>> count = sg_dma_len(sg); >>> >>> - if ((data->blocks == 1) && (count > (1 << data->blksz_bits))) >>> + if ((data->blocks == 1) && (count > (1 << data->blksz))) >>> count = frame; >>> >>> host->dma_len = count; >>> @@ -825,7 +825,7 @@ mmc_omap_prepare_data(struct mmc_omap_ho >>> } >>> >>> >>> - block_size = 1 << data->blksz_bits; >>> + block_size = 1 << data->blksz; >>> >>> OMAP_MMC_WRITE(host, NBLK, data->blocks - 1); >>> OMAP_MMC_WRITE(host, BLEN, block_size - 1); >>> >>> --- linux-omap/drivers/mmc/mmc.c 2006-10-26 06:42:31.000000000 -0400 >>> +++ linux-omap-dev/drivers/mmc/mmc.c 2006-10-26 >>> 09:53:24.000000000 -0400 >>> @@ -996,7 +996,7 @@ >>> >>> mmc_set_data_timeout(&data, card, 0); >>> >>> - data.blksz = 1 << 3; >>> + data.blksz_bits = 1 << 3; >>> data.blocks = 1; >>> data.flags = MMC_DATA_READ; >>> data.sg = &sg; >> >> This doesn't look correct to me (and compilation still >> fails). Why do you add data.blksz_bits in mmc.c again? It >> was removed by RMK at >> >> http://source.mvista.com/git/gitweb.cgi?p=linux-omap-2.6.git;a=blobdiff;h=5b9caa7978d34311839840243e38921255f6da4b;hp=74eaaee66de0e59532ba5655fddac5aaeea5ba08;hb=132919ba80ad207755fe271277bfefff865a54fe;f=drivers/mmc/mmc.c >> >> >> Whats about the attachment instead? It additionally >> removes warning >> >> drivers/mmc/omap.c:587: warning: 'mmc_omap_switch_callback' >> defined but not used >> >> too. >> >> Signed-off-by: Dirk Behme >> ------------------------------------------------------------------------ >> >> Index: linux-osk/drivers/mmc/omap.c >> =================================================================== >> --- linux-osk.orig/drivers/mmc/omap.c >> +++ linux-osk/drivers/mmc/omap.c >> @@ -581,12 +581,6 @@ static void mmc_omap_switch_timer(unsign >> schedule_work(&host->switch_work); >> } >> >> -/* FIXME: Handle card insertion and removal properly. Maybe use a mask >> - * for MMC state? */ >> -static void mmc_omap_switch_callback(unsigned long data, u8 mmc_mask) >> -{ >> -} >> - >> static void mmc_omap_switch_handler(void *data) >> { >> struct mmc_omap_host *host = (struct mmc_omap_host *) data; >> @@ -633,10 +627,10 @@ mmc_omap_prepare_dma(struct mmc_omap_hos >> int sync_dev = 0; >> >> data_addr = host->phys_base + OMAP_MMC_REG_DATA; >> - frame = 1 << data->blksz_bits; >> + frame = data->blksz; >> count = sg_dma_len(sg); >> >> - if ((data->blocks == 1) && (count > (1 << data->blksz_bits))) >> + if ((data->blocks == 1) && (count > (data->blksz))) >> count = frame; >> >> host->dma_len = count; >> @@ -825,7 +819,7 @@ mmc_omap_prepare_data(struct mmc_omap_ho >> } >> >> >> - block_size = 1 << data->blksz_bits; >> + block_size = data->blksz; >> >> OMAP_MMC_WRITE(host, NBLK, data->blocks - 1); >> OMAP_MMC_WRITE(host, BLEN, block_size - 1); >> >> >> > But then you will need to modify the struct mmc_data... and that > didn't seem correct for me 'cause every module using this structure > (and probable future modules) would need to modify the same way you > did... > -- Regards, Felipe Balbi ext-felipe.lima@nokia.com OSMRC