Re: [PATCH] MCI/MXS: fix signed/unsigned mismatch
On Wed, May 08, 2013 at 02:21:11PM +0200, Juergen Beisert wrote: > > Signed-off-by: Juergen Beisert Applied, thanks Sascha > > diff --git a/drivers/mci/mxs.c b/drivers/mci/mxs.c > index c15461c..9dee863 100644 > --- a/drivers/mci/mxs.c > +++ b/drivers/mci/mxs.c > @@ -55,7 +55,7 @@ struct mxs_mci_host { > unsignedf_min; > unsignedf_max; > #endif > - int bus_width:2; /* 0 = 1 bit, 1 = 4 bit, 2 = 8 bit */ > + unsignedbus_width:2; /* 0 = 1 bit, 1 = 4 bit, 2 = 8 bit */ > }; > > #define to_mxs_mci(mxs) container_of(mxs, struct mxs_mci_host, host) > > -- > Pengutronix e.K. | Juergen Beisert | > Linux Solutions for Science and Industry | http://www.pengutronix.de/ | > > ___ > barebox mailing list > barebox@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/barebox > -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0| Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917- | ___ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox
[PATCH] MCI/MXS: fix signed/unsigned mismatch
Using the MXS MCI driver with an eight bit capable eMMC results into the 'devinfo' message the interface uses '0' bits for data transfer: barebox:/ devinfo mxs_mci0 resources: num : 0 start : 0x80034000 size : 0x2000 driver: mxs_mci bus: platform Interface Min. bus clock: 1476 Hz Max. bus clock: 4800 Hz Current bus clock: 2400 Hz Bus width: 0 bit The eight bit interface width is stored internally as value '2'. And a two bit '2' ends up into 0xfffe when used as an array index. Using an unsigned field instead fixes this issue: barebox:/ devinfo mxs_mci0 resources: num : 0 start : 0x80034000 size : 0x2000 driver: mxs_mci bus: platform Interface Min. bus clock: 1476 Hz Max. bus clock: 4800 Hz Current bus clock: 2400 Hz Bus width: 8 bit Signed-off-by: Juergen Beisert diff --git a/drivers/mci/mxs.c b/drivers/mci/mxs.c index c15461c..9dee863 100644 --- a/drivers/mci/mxs.c +++ b/drivers/mci/mxs.c @@ -55,7 +55,7 @@ struct mxs_mci_host { unsignedf_min; unsignedf_max; #endif - int bus_width:2; /* 0 = 1 bit, 1 = 4 bit, 2 = 8 bit */ + unsignedbus_width:2; /* 0 = 1 bit, 1 = 4 bit, 2 = 8 bit */ }; #define to_mxs_mci(mxs) container_of(mxs, struct mxs_mci_host, host) -- Pengutronix e.K. | Juergen Beisert | Linux Solutions for Science and Industry | http://www.pengutronix.de/ | ___ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox