Message ID | 1383399097-11615-27-git-send-email-m.chehab@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
ACK. IIRC I did macro optimization here and that used way gives few bytes smaller footprint =) Antti On 02.11.2013 15:31, Mauro Carvalho Chehab wrote: > Dynamic static allocation is evil, as Kernel stack is too low, and > ompilation complains about it on some archs: > > drivers/media/usb/dvb-usb-v2/af9015.c:433:1: warning: 'af9015_eeprom_hash' uses dynamic stack allocation [enabled by default] > > In this specific case, it is a gcc bug, as the size is a const, but > it is easy to just change it from const to a #define, getting rid of > the gcc warning. > > Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> > Cc: Antti Palosaari <crope@iki.fi> Acked-by: Antti Palosaari <crope@iki.fi> Reviewed-by: Antti Palosaari <crope@iki.fi> > --- > drivers/media/usb/dvb-usb-v2/af9015.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/media/usb/dvb-usb-v2/af9015.c b/drivers/media/usb/dvb-usb-v2/af9015.c > index d556042cf312..da47d2392f2a 100644 > --- a/drivers/media/usb/dvb-usb-v2/af9015.c > +++ b/drivers/media/usb/dvb-usb-v2/af9015.c > @@ -397,12 +397,13 @@ error: > return ret; > } > > +#define AF9015_EEPROM_SIZE 256 > + > /* hash (and dump) eeprom */ > static int af9015_eeprom_hash(struct dvb_usb_device *d) > { > struct af9015_state *state = d_to_priv(d); > int ret, i; > - static const unsigned int AF9015_EEPROM_SIZE = 256; > u8 buf[AF9015_EEPROM_SIZE]; > struct req_t req = {READ_I2C, AF9015_I2C_EEPROM, 0, 0, 1, 1, NULL}; > >
diff --git a/drivers/media/usb/dvb-usb-v2/af9015.c b/drivers/media/usb/dvb-usb-v2/af9015.c index d556042cf312..da47d2392f2a 100644 --- a/drivers/media/usb/dvb-usb-v2/af9015.c +++ b/drivers/media/usb/dvb-usb-v2/af9015.c @@ -397,12 +397,13 @@ error: return ret; } +#define AF9015_EEPROM_SIZE 256 + /* hash (and dump) eeprom */ static int af9015_eeprom_hash(struct dvb_usb_device *d) { struct af9015_state *state = d_to_priv(d); int ret, i; - static const unsigned int AF9015_EEPROM_SIZE = 256; u8 buf[AF9015_EEPROM_SIZE]; struct req_t req = {READ_I2C, AF9015_I2C_EEPROM, 0, 0, 1, 1, NULL};
Dynamic static allocation is evil, as Kernel stack is too low, and ompilation complains about it on some archs: drivers/media/usb/dvb-usb-v2/af9015.c:433:1: warning: 'af9015_eeprom_hash' uses dynamic stack allocation [enabled by default] In this specific case, it is a gcc bug, as the size is a const, but it is easy to just change it from const to a #define, getting rid of the gcc warning. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Cc: Antti Palosaari <crope@iki.fi> --- drivers/media/usb/dvb-usb-v2/af9015.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)