From: H Hartley Sweeten Date: Mon, 14 Jul 2014 19:23:59 +0000 (-0700) Subject: staging: comedi: ni_mio_common: init clock dividers early in ni_E_init() X-Git-Tag: v3.17-rc1~123^2~673 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=caedecfa3a0aea7dc588fd9bb8a0453e74d381c9;p=karo-tx-linux.git staging: comedi: ni_mio_common: init clock dividers early in ni_E_init() The init/reset of the hardware is a bit scattered in this function. For aesthetics, move the init of the clock dividers so it happens early and tidy up the code a bit. Signed-off-by: H Hartley Sweeten Reviewed-by: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/comedi/drivers/ni_mio_common.c b/drivers/staging/comedi/drivers/ni_mio_common.c index dc5f927d32ff..6d1754f98c2e 100644 --- a/drivers/staging/comedi/drivers/ni_mio_common.c +++ b/drivers/staging/comedi/drivers/ni_mio_common.c @@ -5499,6 +5499,18 @@ static int ni_E_init(struct comedi_device *dev, return -EINVAL; } + /* initialize clock dividers */ + devpriv->clock_and_fout = Slow_Internal_Time_Divide_By_2 | + Slow_Internal_Timebase | + Clock_To_Board_Divide_By_2 | + Clock_To_Board; + if (!devpriv->is_6xxx) { + /* BEAM is this needed for PCI-6143 ?? */ + devpriv->clock_and_fout |= (AI_Output_Divide_By_2 | + AO_Output_Divide_By_2); + } + ni_stc_writew(dev, devpriv->clock_and_fout, Clock_and_FOUT_Register); + ret = comedi_alloc_subdevices(dev, NI_NUM_SUBDEVICES); if (ret) return ret; @@ -5770,21 +5782,6 @@ static int ni_E_init(struct comedi_device *dev, /* ai configuration */ s = &dev->subdevices[NI_AI_SUBDEV]; ni_ai_reset(dev, s); - if (!devpriv->is_6xxx) { - /* BEAM is this needed for PCI-6143 ?? */ - devpriv->clock_and_fout = - Slow_Internal_Time_Divide_By_2 | - Slow_Internal_Timebase | - Clock_To_Board_Divide_By_2 | - Clock_To_Board | - AI_Output_Divide_By_2 | AO_Output_Divide_By_2; - } else { - devpriv->clock_and_fout = - Slow_Internal_Time_Divide_By_2 | - Slow_Internal_Timebase | - Clock_To_Board_Divide_By_2 | Clock_To_Board; - } - ni_stc_writew(dev, devpriv->clock_and_fout, Clock_and_FOUT_Register); /* analog output configuration */ s = &dev->subdevices[NI_AO_SUBDEV];