diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-08-17 13:17:03 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-08-17 13:17:03 -0400 |
| commit | 557e2e2eef90d7d3d4ee5396c1ecee873c3dd46e (patch) | |
| tree | 0564981d2766e8b4f9b7bbf7eff12e4ad9b82e97 | |
| parent | c83917976fad1e66689f2e4f632841ed2b2dbe2b (diff) | |
| parent | 3a491aeae86577e0f23cd094f3e16351b6061209 (diff) | |
Merge tag 'staging-3.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging
Pull staging fixes from Greg Kroah-Hartman:
"Here are some staging driver fixes (and iio driver fixes, they get
lumped in with the staging stuff due to dependancies) for your 3.6-rc3
tree.
Nothing major, just a bunch of fixes that people have reported.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
* tag 'staging-3.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (26 commits)
iio: lm3533-als: Fix build warnings
staging:iio:ad7780: Mark channels as unsigned
staging:iio:ad7192: Report offset and scale for temperature channel
staging:iio:ad7192: Report channel offset
staging:iio:ad7192: Mark channels as unsigned
staging:iio:ad7192: Fix setting ACX
staging:iio:ad7192: Add missing break in switch statement
staging:iio:ad7793: Fix internal reference value
staging:iio:ad7793: Follow new IIO naming spec
staging:iio:ad7793: Fix temperature scale and offset
staging:iio:ad7793: Report channel offset
staging:iio:ad7793: Mark channels as unsigned
staging:iio:ad7793: Add missing break in switch statement
iio/adjd_s311: Fix potential memory leak in adjd_s311_update_scan_mode()
iio: frequency: ADF4350: Fix potential reference div factor overflow.
iio: staging: ad7298_ring: Fix maybe-uninitialized warning
staging: comedi: usbduxfast: Declare MODULE_FIRMWARE usage
staging: comedi: usbdux: Declare MODULE_FIRMWARE usage
staging: comedi: usbduxsigma: Declare MODULE_FIRMWARE usage
staging: csr: add INET dependancy
...
| -rw-r--r-- | drivers/iio/frequency/adf4350.c | 24 | ||||
| -rw-r--r-- | drivers/iio/light/adjd_s311.c | 7 | ||||
| -rw-r--r-- | drivers/iio/light/lm3533-als.c | 4 | ||||
| -rw-r--r-- | drivers/staging/comedi/drivers.c | 2 | ||||
| -rw-r--r-- | drivers/staging/comedi/drivers/adv_pci1710.c | 3 | ||||
| -rw-r--r-- | drivers/staging/comedi/drivers/adv_pci1723.c | 2 | ||||
| -rw-r--r-- | drivers/staging/comedi/drivers/adv_pci_dio.c | 2 | ||||
| -rw-r--r-- | drivers/staging/comedi/drivers/daqboard2000.c | 17 | ||||
| -rw-r--r-- | drivers/staging/comedi/drivers/dt3000.c | 6 | ||||
| -rw-r--r-- | drivers/staging/comedi/drivers/rtd520.c | 26 | ||||
| -rw-r--r-- | drivers/staging/comedi/drivers/usbdux.c | 4 | ||||
| -rw-r--r-- | drivers/staging/comedi/drivers/usbduxfast.c | 4 | ||||
| -rw-r--r-- | drivers/staging/comedi/drivers/usbduxsigma.c | 4 | ||||
| -rw-r--r-- | drivers/staging/csr/Kconfig | 2 | ||||
| -rw-r--r-- | drivers/staging/iio/adc/ad7192.c | 48 | ||||
| -rw-r--r-- | drivers/staging/iio/adc/ad7298_ring.c | 2 | ||||
| -rw-r--r-- | drivers/staging/iio/adc/ad7780.c | 10 | ||||
| -rw-r--r-- | drivers/staging/iio/adc/ad7793.c | 99 | ||||
| -rw-r--r-- | include/linux/iio/frequency/adf4350.h | 2 |
19 files changed, 150 insertions, 118 deletions
diff --git a/drivers/iio/frequency/adf4350.c b/drivers/iio/frequency/adf4350.c index 59fbb3ae40e7..e35bb8f6fe75 100644 --- a/drivers/iio/frequency/adf4350.c +++ b/drivers/iio/frequency/adf4350.c | |||
| @@ -129,7 +129,7 @@ static int adf4350_set_freq(struct adf4350_state *st, unsigned long long freq) | |||
| 129 | { | 129 | { |
| 130 | struct adf4350_platform_data *pdata = st->pdata; | 130 | struct adf4350_platform_data *pdata = st->pdata; |
| 131 | u64 tmp; | 131 | u64 tmp; |
| 132 | u32 div_gcd, prescaler; | 132 | u32 div_gcd, prescaler, chspc; |
| 133 | u16 mdiv, r_cnt = 0; | 133 | u16 mdiv, r_cnt = 0; |
| 134 | u8 band_sel_div; | 134 | u8 band_sel_div; |
| 135 | 135 | ||
| @@ -158,14 +158,20 @@ static int adf4350_set_freq(struct adf4350_state *st, unsigned long long freq) | |||
| 158 | if (pdata->ref_div_factor) | 158 | if (pdata->ref_div_factor) |
| 159 | r_cnt = pdata->ref_div_factor - 1; | 159 | r_cnt = pdata->ref_div_factor - 1; |
| 160 | 160 | ||
| 161 | do { | 161 | chspc = st->chspc; |
| 162 | r_cnt = adf4350_tune_r_cnt(st, r_cnt); | ||
| 163 | 162 | ||
| 164 | st->r1_mod = st->fpfd / st->chspc; | 163 | do { |
| 165 | while (st->r1_mod > ADF4350_MAX_MODULUS) { | 164 | do { |
| 166 | r_cnt = adf4350_tune_r_cnt(st, r_cnt); | 165 | do { |
| 167 | st->r1_mod = st->fpfd / st->chspc; | 166 | r_cnt = adf4350_tune_r_cnt(st, r_cnt); |
| 168 | } | 167 | st->r1_mod = st->fpfd / chspc; |
| 168 | if (r_cnt > ADF4350_MAX_R_CNT) { | ||
| 169 | /* try higher spacing values */ | ||
| 170 | chspc++; | ||
| 171 | r_cnt = 0; | ||
| 172 | } | ||
| 173 | } while ((st->r1_mod > ADF4350_MAX_MODULUS) && r_cnt); | ||
| 174 | } while (r_cnt == 0); | ||
| 169 | 175 | ||
| 170 | tmp = freq * (u64)st->r1_mod + (st->fpfd > 1); | 176 | tmp = freq * (u64)st->r1_mod + (st->fpfd > 1); |
| 171 | do_div(tmp, st->fpfd); /* Div round closest (n + d/2)/d */ | 177 | do_div(tmp, st->fpfd); /* Div round closest (n + d/2)/d */ |
| @@ -194,7 +200,7 @@ static int adf4350_set_freq(struct adf4350_state *st, unsigned long long freq) | |||
| 194 | st->regs[ADF4350_REG0] = ADF4350_REG0_INT(st->r0_int) | | 200 | st->regs[ADF4350_REG0] = ADF4350_REG0_INT(st->r0_int) | |
| 195 | ADF4350_REG0_FRACT(st->r0_fract); | 201 | ADF4350_REG0_FRACT(st->r0_fract); |
| 196 | 202 | ||
| 197 | st->regs[ADF4350_REG1] = ADF4350_REG1_PHASE(0) | | 203 | st->regs[ADF4350_REG1] = ADF4350_REG1_PHASE(1) | |
| 198 | ADF4350_REG1_MOD(st->r1_mod) | | 204 | ADF4350_REG1_MOD(st->r1_mod) | |
| 199 | prescaler; | 205 | prescaler; |
| 200 | 206 | ||
diff --git a/drivers/iio/light/adjd_s311.c b/drivers/iio/light/adjd_s311.c index 1cbb449b319a..9a99f43094f0 100644 --- a/drivers/iio/light/adjd_s311.c +++ b/drivers/iio/light/adjd_s311.c | |||
| @@ -271,9 +271,10 @@ static int adjd_s311_update_scan_mode(struct iio_dev *indio_dev, | |||
| 271 | const unsigned long *scan_mask) | 271 | const unsigned long *scan_mask) |
| 272 | { | 272 | { |
| 273 | struct adjd_s311_data *data = iio_priv(indio_dev); | 273 | struct adjd_s311_data *data = iio_priv(indio_dev); |
| 274 | data->buffer = krealloc(data->buffer, indio_dev->scan_bytes, | 274 | |
| 275 | GFP_KERNEL); | 275 | kfree(data->buffer); |
| 276 | if (!data->buffer) | 276 | data->buffer = kmalloc(indio_dev->scan_bytes, GFP_KERNEL); |
| 277 | if (data->buffer == NULL) | ||
| 277 | return -ENOMEM; | 278 | return -ENOMEM; |
| 278 | 279 | ||
| 279 | return 0; | 280 | return 0; |
diff --git a/drivers/iio/light/lm3533-als.c b/drivers/iio/light/lm3533-als.c index c3e7bac13123..e45712a921ce 100644 --- a/drivers/iio/light/lm3533-als.c +++ b/drivers/iio/light/lm3533-als.c | |||
| @@ -404,7 +404,7 @@ out: | |||
| 404 | return ret; | 404 | return ret; |
| 405 | } | 405 | } |
| 406 | 406 | ||
| 407 | static int show_thresh_either_en(struct device *dev, | 407 | static ssize_t show_thresh_either_en(struct device *dev, |
| 408 | struct device_attribute *attr, | 408 | struct device_attribute *attr, |
| 409 | char *buf) | 409 | char *buf) |
| 410 | { | 410 | { |
| @@ -424,7 +424,7 @@ static int show_thresh_either_en(struct device *dev, | |||
| 424 | return scnprintf(buf, PAGE_SIZE, "%u\n", enable); | 424 | return scnprintf(buf, PAGE_SIZE, "%u\n", enable); |
| 425 | } | 425 | } |
| 426 | 426 | ||
| 427 | static int store_thresh_either_en(struct device *dev, | 427 | static ssize_t store_thresh_either_en(struct device *dev, |
| 428 | struct device_attribute *attr, | 428 | struct device_attribute *attr, |
| 429 | const char *buf, size_t len) | 429 | const char *buf, size_t len) |
| 430 | { | 430 | { |
diff --git a/drivers/staging/comedi/drivers.c b/drivers/staging/comedi/drivers.c index c0fdb00783ed..2359151af7e1 100644 --- a/drivers/staging/comedi/drivers.c +++ b/drivers/staging/comedi/drivers.c | |||
| @@ -168,7 +168,7 @@ int comedi_device_attach(struct comedi_device *dev, struct comedi_devconfig *it) | |||
| 168 | dev->board_ptr = comedi_recognize(driv, it->board_name); | 168 | dev->board_ptr = comedi_recognize(driv, it->board_name); |
| 169 | if (dev->board_ptr) | 169 | if (dev->board_ptr) |
| 170 | break; | 170 | break; |
| 171 | } else if (strcmp(driv->driver_name, it->board_name)) | 171 | } else if (strcmp(driv->driver_name, it->board_name) == 0) |
| 172 | break; | 172 | break; |
| 173 | module_put(driv->module); | 173 | module_put(driv->module); |
| 174 | } | 174 | } |
diff --git a/drivers/staging/comedi/drivers/adv_pci1710.c b/drivers/staging/comedi/drivers/adv_pci1710.c index 31986608eaf1..6b4d0d68e637 100644 --- a/drivers/staging/comedi/drivers/adv_pci1710.c +++ b/drivers/staging/comedi/drivers/adv_pci1710.c | |||
| @@ -1349,9 +1349,6 @@ static struct pci_dev *pci1710_find_pci_dev(struct comedi_device *dev, | |||
| 1349 | } | 1349 | } |
| 1350 | if (pcidev->vendor != PCI_VENDOR_ID_ADVANTECH) | 1350 | if (pcidev->vendor != PCI_VENDOR_ID_ADVANTECH) |
| 1351 | continue; | 1351 | continue; |
| 1352 | if (pci_is_enabled(pcidev)) | ||
| 1353 | continue; | ||
| 1354 | |||
| 1355 | if (strcmp(this_board->name, DRV_NAME) == 0) { | 1352 | if (strcmp(this_board->name, DRV_NAME) == 0) { |
| 1356 | for (i = 0; i < ARRAY_SIZE(boardtypes); ++i) { | 1353 | for (i = 0; i < ARRAY_SIZE(boardtypes); ++i) { |
| 1357 | if (pcidev->device == boardtypes[i].device_id) { | 1354 | if (pcidev->device == boardtypes[i].device_id) { |
diff --git a/drivers/staging/comedi/drivers/adv_pci1723.c b/drivers/staging/comedi/drivers/adv_pci1723.c index da5ee69d2c9d..dfde0f6328dd 100644 --- a/drivers/staging/comedi/drivers/adv_pci1723.c +++ b/drivers/staging/comedi/drivers/adv_pci1723.c | |||
| @@ -301,8 +301,6 @@ static struct pci_dev *pci1723_find_pci_dev(struct comedi_device *dev, | |||
| 301 | } | 301 | } |
| 302 | if (pcidev->vendor != PCI_VENDOR_ID_ADVANTECH) | 302 | if (pcidev->vendor != PCI_VENDOR_ID_ADVANTECH) |
| 303 | continue; | 303 | continue; |
| 304 | if (pci_is_enabled(pcidev)) | ||
| 305 | continue; | ||
| 306 | return pcidev; | 304 | return pcidev; |
| 307 | } | 305 | } |
| 308 | dev_err(dev->class_dev, | 306 | dev_err(dev->class_dev, |
diff --git a/drivers/staging/comedi/drivers/adv_pci_dio.c b/drivers/staging/comedi/drivers/adv_pci_dio.c index 97f06dc8e48d..2d4cb7f638b2 100644 --- a/drivers/staging/comedi/drivers/adv_pci_dio.c +++ b/drivers/staging/comedi/drivers/adv_pci_dio.c | |||
| @@ -1064,8 +1064,6 @@ static struct pci_dev *pci_dio_find_pci_dev(struct comedi_device *dev, | |||
| 1064 | slot != PCI_SLOT(pcidev->devfn)) | 1064 | slot != PCI_SLOT(pcidev->devfn)) |
| 1065 | continue; | 1065 | continue; |
| 1066 | } | 1066 | } |
| 1067 | if (pci_is_enabled(pcidev)) | ||
| 1068 | continue; | ||
| 1069 | for (i = 0; i < ARRAY_SIZE(boardtypes); ++i) { | 1067 | for (i = 0; i < ARRAY_SIZE(boardtypes); ++i) { |
| 1070 | if (boardtypes[i].vendor_id != pcidev->vendor) | 1068 | if (boardtypes[i].vendor_id != pcidev->vendor) |
| 1071 | continue; | 1069 | continue; |
diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c index ef28385c1482..cad559a1a730 100644 --- a/drivers/staging/comedi/drivers/daqboard2000.c +++ b/drivers/staging/comedi/drivers/daqboard2000.c | |||
| @@ -718,7 +718,8 @@ static struct pci_dev *daqboard2000_find_pci_dev(struct comedi_device *dev, | |||
| 718 | continue; | 718 | continue; |
| 719 | } | 719 | } |
| 720 | if (pcidev->vendor != PCI_VENDOR_ID_IOTECH || | 720 | if (pcidev->vendor != PCI_VENDOR_ID_IOTECH || |
| 721 | pcidev->device != 0x0409) | ||
