* [PATCH]: Fixing blksz_bits calling inside drivers/mmc/mmc.c and drivers/mmc/omap.c @ 2006-10-27 15:13 Felipe Balbi 2006-10-27 16:02 ` Dirk Behme 0 siblings, 1 reply; 7+ messages in thread From: Felipe Balbi @ 2006-10-27 15:13 UTC (permalink / raw) To: Lindgren Tony (EXT-Atomide/Helsinki), Linux OMAP Mailing List [-- Attachment #1: Type: text/plain, Size: 536 bytes --] 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 -- Regards, Felipe Balbi ext-felipe.lima@nokia.com OSMRC [-- Attachment #2: patch-mmc.c.diff --] [-- Type: text/x-patch, Size: 1210 bytes --] 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; [-- Attachment #3: Type: text/plain, Size: 0 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH]: Fixing blksz_bits calling inside drivers/mmc/mmc.c and drivers/mmc/omap.c 2006-10-27 15:13 [PATCH]: Fixing blksz_bits calling inside drivers/mmc/mmc.c and drivers/mmc/omap.c Felipe Balbi @ 2006-10-27 16:02 ` Dirk Behme 2006-10-27 16:20 ` Felipe Balbi 0 siblings, 1 reply; 7+ messages in thread From: Dirk Behme @ 2006-10-27 16:02 UTC (permalink / raw) To: Felipe Balbi Cc: Linux OMAP Mailing List, Lindgren Tony (EXT-Atomide/Helsinki) [-- Attachment #1: Type: text/plain, Size: 2460 bytes --] 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 <dirk.behme_at_gmail.com> [-- Attachment #2: mmc_omap_fix_patch.txt --] [-- Type: text/plain, Size: 1182 bytes --] 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); [-- Attachment #3: Type: text/plain, Size: 0 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH]: Fixing blksz_bits calling inside drivers/mmc/mmc.c and drivers/mmc/omap.c 2006-10-27 16:02 ` Dirk Behme @ 2006-10-27 16:20 ` Felipe Balbi 2006-10-27 16:30 ` Felipe Balbi 2006-10-27 16:45 ` Dirk Behme 0 siblings, 2 replies; 7+ messages in thread From: Felipe Balbi @ 2006-10-27 16:20 UTC (permalink / raw) To: ext Dirk Behme, Linux OMAP Mailing List 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 <dirk.behme_at_gmail.com> > ------------------------------------------------------------------------ > > 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 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH]: Fixing blksz_bits calling inside drivers/mmc/mmc.c and drivers/mmc/omap.c 2006-10-27 16:20 ` Felipe Balbi @ 2006-10-27 16:30 ` Felipe Balbi 2006-10-27 16:45 ` Dirk Behme 1 sibling, 0 replies; 7+ messages in thread From: Felipe Balbi @ 2006-10-27 16:30 UTC (permalink / raw) Cc: Linux OMAP Mailing List 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 <dirk.behme_at_gmail.com> >> ------------------------------------------------------------------------ >> >> 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 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH]: Fixing blksz_bits calling inside drivers/mmc/mmc.c and drivers/mmc/omap.c 2006-10-27 16:20 ` Felipe Balbi 2006-10-27 16:30 ` Felipe Balbi @ 2006-10-27 16:45 ` Dirk Behme 2006-10-27 17:51 ` Felipe Balbi 1 sibling, 1 reply; 7+ messages in thread From: Dirk Behme @ 2006-10-27 16:45 UTC (permalink / raw) To: Felipe Balbi; +Cc: Linux OMAP Mailing List Felipe Balbi wrote: >>> 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 <dirk.behme_at_gmail.com> >> ------------------------------------------------------------------------ >> >> 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... Mmh, why? Above patch compiles for me. blksz is part of the global struct mmc_data, isn't it? http://source.mvista.com/git/gitweb.cgi?p=linux-omap-2.6.git;a=commitdiff;h=132919ba80ad207755fe271277bfefff865a54fe http://source.mvista.com/git/gitweb.cgi?p=linux-omap-2.6.git;a=commit;h=132919ba80ad207755fe271277bfefff865a54fe Do we both talk about recent git? Or do you use an other or locally modified version? Best regards Dirk ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH]: Fixing blksz_bits calling inside drivers/mmc/mmc.c and drivers/mmc/omap.c 2006-10-27 16:45 ` Dirk Behme @ 2006-10-27 17:51 ` Felipe Balbi 2006-10-27 18:21 ` Dirk Behme 0 siblings, 1 reply; 7+ messages in thread From: Felipe Balbi @ 2006-10-27 17:51 UTC (permalink / raw) To: ext Dirk Behme; +Cc: Linux OMAP Mailing List ext Dirk Behme wrote: > Felipe Balbi wrote: >>>> 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 <dirk.behme_at_gmail.com> >>> ------------------------------------------------------------------------ >>> >>> >>> 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... > > Mmh, why? Above patch compiles for me. > > blksz is part of the global struct mmc_data, isn't it? > > http://source.mvista.com/git/gitweb.cgi?p=linux-omap-2.6.git;a=commitdiff;h=132919ba80ad207755fe271277bfefff865a54fe > > > http://source.mvista.com/git/gitweb.cgi?p=linux-omap-2.6.git;a=commit;h=132919ba80ad207755fe271277bfefff865a54fe > > > Do we both talk about recent git? Or do you use an other or locally > modified version? > > Best regards > > Dirk > Yep, my git tree is the newest version... And I made a mistake here... --- 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; It's deordered... it should appear 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; -- Best Regards, Felipe Balbi ext-felipe.lima@nokia.com OSMRC ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH]: Fixing blksz_bits calling inside drivers/mmc/mmc.c and drivers/mmc/omap.c 2006-10-27 17:51 ` Felipe Balbi @ 2006-10-27 18:21 ` Dirk Behme 0 siblings, 0 replies; 7+ messages in thread From: Dirk Behme @ 2006-10-27 18:21 UTC (permalink / raw) To: Felipe Balbi; +Cc: Linux OMAP Mailing List Felipe Balbi wrote: > ext Dirk Behme wrote: >>>> 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); >>>> ... > Yep, my git tree is the newest version... ... > --- 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; Weird. My drivers/mmc/mmc.c looks ... mmc_set_data_timeout(&data, card, 0); data.blksz = 1 << 3; data.blocks = 1; data.flags = MMC_DATA_READ; data.sg = &sg; data.sg_len = 1; ... without any patch. Looking at line ~999 of http://source.mvista.com/git/gitweb.cgi?p=linux-omap-2.6.git;a=blob;h=ee8863c123e37881e0f35ee658a15fd5e925ad31;hb=591db7639fd7e2b2ae3f82851ee1d25beac714c4;f=drivers/mmc/mmc.c#999 it's the same. So I don't have to touch mmc.c for my patch above. Best regards Dirk ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2006-10-27 18:21 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2006-10-27 15:13 [PATCH]: Fixing blksz_bits calling inside drivers/mmc/mmc.c and drivers/mmc/omap.c Felipe Balbi 2006-10-27 16:02 ` Dirk Behme 2006-10-27 16:20 ` Felipe Balbi 2006-10-27 16:30 ` Felipe Balbi 2006-10-27 16:45 ` Dirk Behme 2006-10-27 17:51 ` Felipe Balbi 2006-10-27 18:21 ` Dirk Behme
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox