From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756372AbbKRQ04 (ORCPT ); Wed, 18 Nov 2015 11:26:56 -0500 Received: from smtp105.iad3a.emailsrvr.com ([173.203.187.105]:39167 "EHLO smtp105.iad3a.emailsrvr.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756187AbbKRQ0z (ORCPT ); Wed, 18 Nov 2015 11:26:55 -0500 X-Auth-ID: abbotti@mev.co.uk X-Sender-Id: abbotti@mev.co.uk Subject: Re: [PATCH] comedi: dmm32at: Fix coding style - use BIT macro To: Ranjith Thangavel , gregkh@linuxfoundation.org References: <1447521036-23550-1-git-send-email-ranjithece24@gmail.com> Cc: hsweeten@visionengravers.com, devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org From: Ian Abbott Message-ID: <564CA6CC.6010600@mev.co.uk> Date: Wed, 18 Nov 2015 16:26:52 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.3.0 MIME-Version: 1.0 In-Reply-To: <1447521036-23550-1-git-send-email-ranjithece24@gmail.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 14/11/15 17:10, Ranjith Thangavel wrote: > BIT macro is used for defining BIT location instead of > shifting operator, usleep_range is preferred over > udelay - coding style issue Those two things should be done in separate patches. > Signed-off-by: Ranjith Thangavel > --- > drivers/staging/comedi/drivers/dmm32at.c | 104 +++++++++++++++--------------- > 1 file changed, 52 insertions(+), 52 deletions(-) > > diff --git a/drivers/staging/comedi/drivers/dmm32at.c b/drivers/staging/comedi/drivers/dmm32at.c > index 958c0d4..0836d39 100644 > --- a/drivers/staging/comedi/drivers/dmm32at.c > +++ b/drivers/staging/comedi/drivers/dmm32at.c > @@ -46,74 +46,74 @@ > #define DMM32AT_AI_START_CONV_REG 0x00 > #define DMM32AT_AI_LSB_REG 0x00 > #define DMM32AT_AUX_DOUT_REG 0x01 > -#define DMM32AT_AUX_DOUT2 (1 << 2) /* J3.42 - OUT2 (OUT2EN) */ > -#define DMM32AT_AUX_DOUT1 (1 << 1) /* J3.43 */ > -#define DMM32AT_AUX_DOUT0 (1 << 0) /* J3.44 - OUT0 (OUT0EN) */ > +#define DMM32AT_AUX_DOUT2 BIT(2) /* J3.42 - OUT2 (OUT2EN) */ > +#define DMM32AT_AUX_DOUT1 BIT(1) /* J3.43 */ > +#define DMM32AT_AUX_DOUT0 BIT(0) /* J3.44 - OUT0 (OUT0EN) */ > #define DMM32AT_AI_MSB_REG 0x01 > #define DMM32AT_AI_LO_CHAN_REG 0x02 > #define DMM32AT_AI_HI_CHAN_REG 0x03 > #define DMM32AT_AUX_DI_REG 0x04 > -#define DMM32AT_AUX_DI_DACBUSY (1 << 7) > -#define DMM32AT_AUX_DI_CALBUSY (1 << 6) > -#define DMM32AT_AUX_DI3 (1 << 3) /* J3.45 - ADCLK (CLKSEL) */ > -#define DMM32AT_AUX_DI2 (1 << 2) /* J3.46 - GATE12 (GT12EN) */ > -#define DMM32AT_AUX_DI1 (1 << 1) /* J3.47 - GATE0 (GT0EN) */ > -#define DMM32AT_AUX_DI0 (1 << 0) /* J3.48 - CLK0 (SRC0) */ > +#define DMM32AT_AUX_DI_DACBUSY BIT(7) > +#define DMM32AT_AUX_DI_CALBUSY BIT(6) > +#define DMM32AT_AUX_DI3 BIT(3) /* J3.45 - ADCLK (CLKSEL) */ > +#define DMM32AT_AUX_DI2 BIT(2) /* J3.46 - GATE12 (GT12EN) */ > +#define DMM32AT_AUX_DI1 BIT(1) /* J3.47 - GATE0 (GT0EN) */ > +#define DMM32AT_AUX_DI0 BIT(0) /* J3.48 - CLK0 (SRC0) */ > #define DMM32AT_AO_LSB_REG 0x04 > #define DMM32AT_AO_MSB_REG 0x05 > #define DMM32AT_AO_MSB_DACH(x) ((x) << 6) > #define DMM32AT_FIFO_DEPTH_REG 0x06 > #define DMM32AT_FIFO_CTRL_REG 0x07 > -#define DMM32AT_FIFO_CTRL_FIFOEN (1 << 3) > -#define DMM32AT_FIFO_CTRL_SCANEN (1 << 2) > -#define DMM32AT_FIFO_CTRL_FIFORST (1 << 1) > +#define DMM32AT_FIFO_CTRL_FIFOEN BIT(3) > +#define DMM32AT_FIFO_CTRL_SCANEN BIT(2) > +#define DMM32AT_FIFO_CTRL_FIFORST BIT(1) > #define DMM32AT_FIFO_STATUS_REG 0x07 > -#define DMM32AT_FIFO_STATUS_EF (1 << 7) > -#define DMM32AT_FIFO_STATUS_HF (1 << 6) > -#define DMM32AT_FIFO_STATUS_FF (1 << 5) > -#define DMM32AT_FIFO_STATUS_OVF (1 << 4) > -#define DMM32AT_FIFO_STATUS_FIFOEN (1 << 3) > -#define DMM32AT_FIFO_STATUS_SCANEN (1 << 2) > -#define DMM32AT_FIFO_STATUS_PAGE_MASK (3 << 0) > +#define DMM32AT_FIFO_STATUS_EF BIT(7) > +#define DMM32AT_FIFO_STATUS_HF BIT(6) > +#define DMM32AT_FIFO_STATUS_FF BIT(5) > +#define DMM32AT_FIFO_STATUS_OVF BIT(4) > +#define DMM32AT_FIFO_STATUS_FIFOEN BIT(3) > +#define DMM32AT_FIFO_STATUS_SCANEN BIT(2) > +#define DMM32AT_FIFO_STATUS_PAGE_MASK 0 As Dan Carpenter pointer out the new value of DMM32AT_FIFO_STATUS_PAGE_MASK is wrong (the old value was 3). > #define DMM32AT_CTRL_REG 0x08 > -#define DMM32AT_CTRL_RESETA (1 << 5) > -#define DMM32AT_CTRL_RESETD (1 << 4) > -#define DMM32AT_CTRL_INTRST (1 << 3) > -#define DMM32AT_CTRL_PAGE_8254 (0 << 0) > -#define DMM32AT_CTRL_PAGE_8255 (1 << 0) > -#define DMM32AT_CTRL_PAGE_CALIB (3 << 0) > +#define DMM32AT_CTRL_RESETA BIT(5) > +#define DMM32AT_CTRL_RESETD BIT(4) > +#define DMM32AT_CTRL_INTRST BIT(3) > +#define DMM32AT_CTRL_PAGE_8254 0 > +#define DMM32AT_CTRL_PAGE_8255 BIT(0) > +#define DMM32AT_CTRL_PAGE_CALIB 0 The new value of DMM32AT_CTRL_PAGE_CALIB is wrong - the old value is 3. DMM32AT_CTRL_PAGE_8254, DMM32AT_CTRL_PAGE_8255 and DMM32AT_CTRL_PAGE_CALIB are 2-bit values, so the BIT() macro isn't really the best representation. (To be honest, I don't really know what the preferred representation of shifted multi-bit values is.) > #define DMM32AT_AI_STATUS_REG 0x08 > -#define DMM32AT_AI_STATUS_STS (1 << 7) > -#define DMM32AT_AI_STATUS_SD1 (1 << 6) > -#define DMM32AT_AI_STATUS_SD0 (1 << 5) > +#define DMM32AT_AI_STATUS_STS BIT(7) > +#define DMM32AT_AI_STATUS_SD1 BIT(6) > +#define DMM32AT_AI_STATUS_SD0 BIT(5) > #define DMM32AT_AI_STATUS_ADCH_MASK (0x1f << 0) > #define DMM32AT_INTCLK_REG 0x09 > -#define DMM32AT_INTCLK_ADINT (1 << 7) > -#define DMM32AT_INTCLK_DINT (1 << 6) > -#define DMM32AT_INTCLK_TINT (1 << 5) > -#define DMM32AT_INTCLK_CLKEN (1 << 1) /* 1=see below 0=software */ > -#define DMM32AT_INTCLK_CLKSEL (1 << 0) /* 1=OUT2 0=EXTCLK */ > +#define DMM32AT_INTCLK_ADINT BIT(7) > +#define DMM32AT_INTCLK_DINT BIT(6) > +#define DMM32AT_INTCLK_TINT BIT(5) > +#define DMM32AT_INTCLK_CLKEN BIT(1) /* 1=see below 0=software */ > +#define DMM32AT_INTCLK_CLKSEL BIT(0) /* 1=OUT2 0=EXTCLK */ > #define DMM32AT_CTRDIO_CFG_REG 0x0a > -#define DMM32AT_CTRDIO_CFG_FREQ12 (1 << 7) /* CLK12 1=100KHz 0=10MHz */ > -#define DMM32AT_CTRDIO_CFG_FREQ0 (1 << 6) /* CLK0 1=10KHz 0=10MHz */ > -#define DMM32AT_CTRDIO_CFG_OUT2EN (1 << 5) /* J3.42 1=OUT2 is DOUT2 */ > -#define DMM32AT_CTRDIO_CFG_OUT0EN (1 << 4) /* J3,44 1=OUT0 is DOUT0 */ > -#define DMM32AT_CTRDIO_CFG_GT0EN (1 << 2) /* J3.47 1=DIN1 is GATE0 */ > -#define DMM32AT_CTRDIO_CFG_SRC0 (1 << 1) /* CLK0 is 0=FREQ0 1=J3.48 */ > -#define DMM32AT_CTRDIO_CFG_GT12EN (1 << 0) /* J3.46 1=DIN2 is GATE12 */ > +#define DMM32AT_CTRDIO_CFG_FREQ12 BIT(7) /* CLK12 1=100KHz 0=10MHz */ > +#define DMM32AT_CTRDIO_CFG_FREQ0 BIT(6) /* CLK0 1=10KHz 0=10MHz */ > +#define DMM32AT_CTRDIO_CFG_OUT2EN BIT(5) /* J3.42 1=OUT2 is DOUT2 */ > +#define DMM32AT_CTRDIO_CFG_OUT0EN BIT(4) /* J3,44 1=OUT0 is DOUT0 */ > +#define DMM32AT_CTRDIO_CFG_GT0EN BIT(2) /* J3.47 1=DIN1 is GATE0 */ > +#define DMM32AT_CTRDIO_CFG_SRC0 BIT(1) /* CLK0 is 0=FREQ0 1=J3.48 */ > +#define DMM32AT_CTRDIO_CFG_GT12EN BIT(0) /* J3.46 1=DIN2 is GATE12 */ > #define DMM32AT_AI_CFG_REG 0x0b > -#define DMM32AT_AI_CFG_SCINT_20US (0 << 4) > -#define DMM32AT_AI_CFG_SCINT_15US (1 << 4) > -#define DMM32AT_AI_CFG_SCINT_10US (2 << 4) > -#define DMM32AT_AI_CFG_SCINT_5US (3 << 4) > -#define DMM32AT_AI_CFG_RANGE (1 << 3) /* 0=5V 1=10V */ > -#define DMM32AT_AI_CFG_ADBU (1 << 2) /* 0=bipolar 1=unipolar */ > +#define DMM32AT_AI_CFG_SCINT_20US 0 > +#define DMM32AT_AI_CFG_SCINT_15US BIT(4) > +#define DMM32AT_AI_CFG_SCINT_10US (BIT(5) & ~BIT(4)) > +#define DMM32AT_AI_CFG_SCINT_5US (BIT(5) | BIT(4)) The values of DMM32AT_AI_CFG_SCINT_20US etc. are numerically correct, but look a bit strange. The `(BIT(5) & ~BIT(4))` looks especially strange and could be changed to `BIT(5)`. These are all really shifted 2-bit values, so perhaps the BIT() macro isn't the best representation. > +#define DMM32AT_AI_CFG_RANGE BIT(3) /* 0=5V 1=10V */ > +#define DMM32AT_AI_CFG_ADBU BIT(2) /* 0=bipolar 1=unipolar */ > #define DMM32AT_AI_CFG_GAIN(x) ((x) << 0) > #define DMM32AT_AI_READBACK_REG 0x0b > -#define DMM32AT_AI_READBACK_WAIT (1 << 7) /* DMM32AT_AI_STATUS_STS */ > -#define DMM32AT_AI_READBACK_RANGE (1 << 3) > -#define DMM32AT_AI_READBACK_ADBU (1 << 2) > -#define DMM32AT_AI_READBACK_GAIN_MASK (3 << 0) > +#define DMM32AT_AI_READBACK_WAIT BIT(7) /* DMM32AT_AI_STATUS_STS */ > +#define DMM32AT_AI_READBACK_RANGE BIT(3) > +#define DMM32AT_AI_READBACK_ADBU BIT(2) > +#define DMM32AT_AI_READBACK_GAIN_MASK 0 The value of DMM32AT_AI_READBACK_GAIN_MASK is wrong - the old value was 3. > > #define DMM32AT_CLK1 0x0d > #define DMM32AT_CLK2 0x0e > @@ -508,7 +508,7 @@ static int dmm32at_reset(struct comedi_device *dev) > outb(DMM32AT_CTRL_RESETA, dev->iobase + DMM32AT_CTRL_REG); > > /* allow a millisecond to reset */ > - udelay(1000); > + usleep_range(1000, 1050); > > /* zero scan and fifo control */ > outb(0x0, dev->iobase + DMM32AT_FIFO_CTRL_REG); > @@ -524,7 +524,7 @@ static int dmm32at_reset(struct comedi_device *dev) > outb(DMM32AT_RANGE_U10, dev->iobase + DMM32AT_AI_CFG_REG); > > /* should take 10 us to settle, here's a hundred */ > - udelay(100); > + usleep_range(100, 150); > > /* read back the values */ > ailo = inb(dev->iobase + DMM32AT_AI_LO_CHAN_REG); > The usleep_range() stuff is unrelated to the use of the BIT() macro and should be in a separate patch. -- -=( Ian Abbott @ MEV Ltd. E-mail: )=- -=( Web: http://www.mev.co.uk/ )=-