Commit 9d23108d authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'staging-3.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging

Pull staging fixes from Greg KH:
 "Here are a number of small staging tree and iio driver fixes.  Nothing
  major, just lots of little things"

* tag 'staging-3.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (34 commits)
  iio:buffer_cb: Add missing iio_buffer_init()
  iio: Prevent race between IIO chardev opening and IIO device free
  iio: fix: Keep a reference to the IIO device for open file descriptors
  iio: Stop sampling when the device is removed
  iio: Fix crash when scan_bytes is computed with active_scan_mask == NULL
  iio: Fix mcp4725 dev-to-indio_dev conversion in suspend/resume
  iio: Fix bma180 dev-to-indio_dev conversion in suspend/resume
  iio: Fix tmp006 dev-to-indio_dev conversion in suspend/resume
  iio: iio_device_add_event_sysfs() bugfix
  staging: iio: ade7854-spi: Fix return value
  staging:iio:hmc5843: Fix measurement conversion
  iio: isl29018: Fix uninitialized value
  staging:iio:dummy fix kfifo_buf kconfig dependency issue if kfifo modular and buffer enabled for built in dummy driver.
  iio: at91: fix adc_clk overflow
  staging: line6: add bounds check in snd_toneport_source_put()
  Staging: comedi: Fix dependencies for drivers misclassified as PCI
  staging: r8188eu: Adjust RX gain
  staging: r8188eu: Fix smatch warning in core/rtw_ieee80211.
  staging: r8188eu: Fix smatch error in core/rtw_mlme_ext.c
  staging: r8188eu: Fix Smatch off-by-one warning in hal/rtl8188e_hal_init.c
  ...
parents e04a0a5a 61740810
...@@ -620,7 +620,7 @@ static int bma180_remove(struct i2c_client *client) ...@@ -620,7 +620,7 @@ static int bma180_remove(struct i2c_client *client)
#ifdef CONFIG_PM_SLEEP #ifdef CONFIG_PM_SLEEP
static int bma180_suspend(struct device *dev) static int bma180_suspend(struct device *dev)
{ {
struct iio_dev *indio_dev = dev_to_iio_dev(dev); struct iio_dev *indio_dev = i2c_get_clientdata(to_i2c_client(dev));
struct bma180_data *data = iio_priv(indio_dev); struct bma180_data *data = iio_priv(indio_dev);
int ret; int ret;
...@@ -633,7 +633,7 @@ static int bma180_suspend(struct device *dev) ...@@ -633,7 +633,7 @@ static int bma180_suspend(struct device *dev)
static int bma180_resume(struct device *dev) static int bma180_resume(struct device *dev)
{ {
struct iio_dev *indio_dev = dev_to_iio_dev(dev); struct iio_dev *indio_dev = i2c_get_clientdata(to_i2c_client(dev));
struct bma180_data *data = iio_priv(indio_dev); struct bma180_data *data = iio_priv(indio_dev);
int ret; int ret;
......
...@@ -556,7 +556,7 @@ static const struct iio_info at91_adc_info = { ...@@ -556,7 +556,7 @@ static const struct iio_info at91_adc_info = {
static int at91_adc_probe(struct platform_device *pdev) static int at91_adc_probe(struct platform_device *pdev)
{ {
unsigned int prsc, mstrclk, ticks, adc_clk, shtim; unsigned int prsc, mstrclk, ticks, adc_clk, adc_clk_khz, shtim;
int ret; int ret;
struct iio_dev *idev; struct iio_dev *idev;
struct at91_adc_state *st; struct at91_adc_state *st;
...@@ -649,6 +649,7 @@ static int at91_adc_probe(struct platform_device *pdev) ...@@ -649,6 +649,7 @@ static int at91_adc_probe(struct platform_device *pdev)
*/ */
mstrclk = clk_get_rate(st->clk); mstrclk = clk_get_rate(st->clk);
adc_clk = clk_get_rate(st->adc_clk); adc_clk = clk_get_rate(st->adc_clk);
adc_clk_khz = adc_clk / 1000;
prsc = (mstrclk / (2 * adc_clk)) - 1; prsc = (mstrclk / (2 * adc_clk)) - 1;
if (!st->startup_time) { if (!st->startup_time) {
...@@ -662,15 +663,15 @@ static int at91_adc_probe(struct platform_device *pdev) ...@@ -662,15 +663,15 @@ static int at91_adc_probe(struct platform_device *pdev)
* defined in the electrical characteristics of the board, divided by 8. * defined in the electrical characteristics of the board, divided by 8.
* The formula thus is : Startup Time = (ticks + 1) * 8 / ADC Clock * The formula thus is : Startup Time = (ticks + 1) * 8 / ADC Clock
*/ */
ticks = round_up((st->startup_time * adc_clk / ticks = round_up((st->startup_time * adc_clk_khz /
1000000) - 1, 8) / 8; 1000) - 1, 8) / 8;
/* /*
* a minimal Sample and Hold Time is necessary for the ADC to guarantee * a minimal Sample and Hold Time is necessary for the ADC to guarantee
* the best converted final value between two channels selection * the best converted final value between two channels selection
* The formula thus is : Sample and Hold Time = (shtim + 1) / ADCClock * The formula thus is : Sample and Hold Time = (shtim + 1) / ADCClock
*/ */
shtim = round_up((st->sample_hold_time * adc_clk / shtim = round_up((st->sample_hold_time * adc_clk_khz /
1000000) - 1, 1); 1000) - 1, 1);
reg = AT91_ADC_PRESCAL_(prsc) & st->registers->mr_prescal_mask; reg = AT91_ADC_PRESCAL_(prsc) & st->registers->mr_prescal_mask;
reg |= AT91_ADC_STARTUP_(ticks) & st->registers->mr_startup_mask; reg |= AT91_ADC_STARTUP_(ticks) & st->registers->mr_startup_mask;
......
...@@ -41,6 +41,8 @@ struct iio_cb_buffer *iio_channel_get_all_cb(struct device *dev, ...@@ -41,6 +41,8 @@ struct iio_cb_buffer *iio_channel_get_all_cb(struct device *dev,
goto error_ret; goto error_ret;
} }
iio_buffer_init(&cb_buff->buffer);
cb_buff->private = private; cb_buff->private = private;
cb_buff->cb = cb; cb_buff->cb = cb;
cb_buff->buffer.access = &iio_cb_access; cb_buff->buffer.access = &iio_cb_access;
......
...@@ -37,21 +37,21 @@ struct mcp4725_data { ...@@ -37,21 +37,21 @@ struct mcp4725_data {
static int mcp4725_suspend(struct device *dev) static int mcp4725_suspend(struct device *dev)
{ {
struct iio_dev *indio_dev = dev_to_iio_dev(dev); struct mcp4725_data *data = iio_priv(i2c_get_clientdata(
struct mcp4725_data *data = iio_priv(indio_dev); to_i2c_client(dev)));
u8 outbuf[2]; u8 outbuf[2];
outbuf[0] = (data->powerdown_mode + 1) << 4; outbuf[0] = (data->powerdown_mode + 1) << 4;
outbuf[1] = 0; outbuf[1] = 0;
data->powerdown = true; data->powerdown = true;
return i2c_master_send(to_i2c_client(dev), outbuf, 2); return i2c_master_send(data->client, outbuf, 2);
} }
static int mcp4725_resume(struct device *dev) static int mcp4725_resume(struct device *dev)
{ {
struct iio_dev *indio_dev = dev_to_iio_dev(dev); struct mcp4725_data *data = iio_priv(i2c_get_clientdata(
struct mcp4725_data *data = iio_priv(indio_dev); to_i2c_client(dev)));
u8 outbuf[2]; u8 outbuf[2];
/* restore previous DAC value */ /* restore previous DAC value */
...@@ -59,7 +59,7 @@ static int mcp4725_resume(struct device *dev) ...@@ -59,7 +59,7 @@ static int mcp4725_resume(struct device *dev)
outbuf[1] = data->dac_value & 0xff; outbuf[1] = data->dac_value & 0xff;
data->powerdown = false; data->powerdown = false;
return i2c_master_send(to_i2c_client(dev), outbuf, 2); return i2c_master_send(data->client, outbuf, 2);
} }
#ifdef CONFIG_PM_SLEEP #ifdef CONFIG_PM_SLEEP
......
...@@ -49,11 +49,15 @@ ssize_t iio_buffer_read_first_n_outer(struct file *filp, char __user *buf, ...@@ -49,11 +49,15 @@ ssize_t iio_buffer_read_first_n_outer(struct file *filp, char __user *buf,
#define iio_buffer_poll_addr (&iio_buffer_poll) #define iio_buffer_poll_addr (&iio_buffer_poll)
#define iio_buffer_read_first_n_outer_addr (&iio_buffer_read_first_n_outer) #define iio_buffer_read_first_n_outer_addr (&iio_buffer_read_first_n_outer)
void iio_disable_all_buffers(struct iio_dev *indio_dev);
#else #else
#define iio_buffer_poll_addr NULL #define iio_buffer_poll_addr NULL
#define iio_buffer_read_first_n_outer_addr NULL #define iio_buffer_read_first_n_outer_addr NULL
static inline void iio_disable_all_buffers(struct iio_dev *indio_dev) {}
#endif #endif
int iio_device_register_eventset(struct iio_dev *indio_dev); int iio_device_register_eventset(struct iio_dev *indio_dev);
......
...@@ -460,6 +460,25 @@ static int iio_compute_scan_bytes(struct iio_dev *indio_dev, const long *mask, ...@@ -460,6 +460,25 @@ static int iio_compute_scan_bytes(struct iio_dev *indio_dev, const long *mask,
return bytes; return bytes;
} }
void iio_disable_all_buffers(struct iio_dev *indio_dev)
{
struct iio_buffer *buffer, *_buffer;
if (list_empty(&indio_dev->buffer_list))
return;
if (indio_dev->setup_ops->predisable)
indio_dev->setup_ops->predisable(indio_dev);
list_for_each_entry_safe(buffer, _buffer,
&indio_dev->buffer_list, buffer_list)
list_del_init(&buffer->buffer_list);
indio_dev->currentmode = INDIO_DIRECT_MODE;
if (indio_dev->setup_ops->postdisable)
indio_dev->setup_ops->postdisable(indio_dev);
}
int iio_update_buffers(struct iio_dev *indio_dev, int iio_update_buffers(struct iio_dev *indio_dev,
struct iio_buffer *insert_buffer, struct iio_buffer *insert_buffer,
struct iio_buffer *remove_buffer) struct iio_buffer *remove_buffer)
...@@ -528,9 +547,16 @@ int iio_update_buffers(struct iio_dev *indio_dev, ...@@ -528,9 +547,16 @@ int iio_update_buffers(struct iio_dev *indio_dev,
* Note can only occur when adding a buffer. * Note can only occur when adding a buffer.
*/ */
list_del(&insert_buffer->buffer_list); list_del(&insert_buffer->buffer_list);
if (old_mask) {
indio_dev->active_scan_mask = old_mask; indio_dev->active_scan_mask = old_mask;
success = -EINVAL; success = -EINVAL;
} }
else {
kfree(compound_mask);
ret = -EINVAL;
goto error_ret;
}
}
} else { } else {
indio_dev->active_scan_mask = compound_mask; indio_dev->active_scan_mask = compound_mask;
} }
......
...@@ -848,8 +848,6 @@ static void iio_device_unregister_sysfs(struct iio_dev *indio_dev) ...@@ -848,8 +848,6 @@ static void iio_device_unregister_sysfs(struct iio_dev *indio_dev)
static void iio_dev_release(struct device *device) static void iio_dev_release(struct device *device)
{ {
struct iio_dev *indio_dev = dev_to_iio_dev(device); struct iio_dev *indio_dev = dev_to_iio_dev(device);
if (indio_dev->chrdev.dev)
cdev_del(&indio_dev->chrdev);
if (indio_dev->modes & INDIO_BUFFER_TRIGGERED) if (indio_dev->modes & INDIO_BUFFER_TRIGGERED)
iio_device_unregister_trigger_consumer(indio_dev); iio_device_unregister_trigger_consumer(indio_dev);
iio_device_unregister_eventset(indio_dev); iio_device_unregister_eventset(indio_dev);
...@@ -970,6 +968,8 @@ static int iio_chrdev_open(struct inode *inode, struct file *filp) ...@@ -970,6 +968,8 @@ static int iio_chrdev_open(struct inode *inode, struct file *filp)
if (test_and_set_bit(IIO_BUSY_BIT_POS, &indio_dev->flags)) if (test_and_set_bit(IIO_BUSY_BIT_POS, &indio_dev->flags))
return -EBUSY; return -EBUSY;
iio_device_get(indio_dev);
filp->private_data = indio_dev; filp->private_data = indio_dev;
return 0; return 0;
...@@ -983,6 +983,8 @@ static int iio_chrdev_release(struct inode *inode, struct file *filp) ...@@ -983,6 +983,8 @@ static int iio_chrdev_release(struct inode *inode, struct file *filp)
struct iio_dev *indio_dev = container_of(inode->i_cdev, struct iio_dev *indio_dev = container_of(inode->i_cdev,
struct iio_dev, chrdev); struct iio_dev, chrdev);
clear_bit(IIO_BUSY_BIT_POS, &indio_dev->flags); clear_bit(IIO_BUSY_BIT_POS, &indio_dev->flags);
iio_device_put(indio_dev);
return 0; return 0;
} }
...@@ -1052,18 +1054,20 @@ int iio_device_register(struct iio_dev *indio_dev) ...@@ -1052,18 +1054,20 @@ int iio_device_register(struct iio_dev *indio_dev)
indio_dev->setup_ops == NULL) indio_dev->setup_ops == NULL)
indio_dev->setup_ops = &noop_ring_setup_ops; indio_dev->setup_ops = &noop_ring_setup_ops;
ret = device_add(&indio_dev->dev);
if (ret < 0)
goto error_unreg_eventset;
cdev_init(&indio_dev->chrdev, &iio_buffer_fileops); cdev_init(&indio_dev->chrdev, &iio_buffer_fileops);
indio_dev->chrdev.owner = indio_dev->info->driver_module; indio_dev->chrdev.owner = indio_dev->info->driver_module;
indio_dev->chrdev.kobj.parent = &indio_dev->dev.kobj;
ret = cdev_add(&indio_dev->chrdev, indio_dev->dev.devt, 1); ret = cdev_add(&indio_dev->chrdev, indio_dev->dev.devt, 1);
if (ret < 0) if (ret < 0)
goto error_del_device; goto error_unreg_eventset;
return 0;
error_del_device: ret = device_add(&indio_dev->dev);
device_del(&indio_dev->dev); if (ret < 0)
goto error_cdev_del;
return 0;
error_cdev_del:
cdev_del(&indio_dev->chrdev);
error_unreg_eventset: error_unreg_eventset:
iio_device_unregister_eventset(indio_dev); iio_device_unregister_eventset(indio_dev);
error_free_sysfs: error_free_sysfs:
...@@ -1078,9 +1082,16 @@ EXPORT_SYMBOL(iio_device_register); ...@@ -1078,9 +1082,16 @@ EXPORT_SYMBOL(iio_device_register);
void iio_device_unregister(struct iio_dev *indio_dev) void iio_device_unregister(struct iio_dev *indio_dev)
{ {
mutex_lock(&indio_dev->info_exist_lock); mutex_lock(&indio_dev->info_exist_lock);
device_del(&indio_dev->dev);
if (indio_dev->chrdev.dev)
cdev_del(&indio_dev->chrdev);
iio_disable_all_buffers(indio_dev);
indio_dev->info = NULL; indio_dev->info = NULL;
mutex_unlock(&indio_dev->info_exist_lock); mutex_unlock(&indio_dev->info_exist_lock);
device_del(&indio_dev->dev);
} }
EXPORT_SYMBOL(iio_device_unregister); EXPORT_SYMBOL(iio_device_unregister);
subsys_initcall(iio_init); subsys_initcall(iio_init);
......
...@@ -72,7 +72,8 @@ EXPORT_SYMBOL(iio_push_event); ...@@ -72,7 +72,8 @@ EXPORT_SYMBOL(iio_push_event);
static unsigned int iio_event_poll(struct file *filep, static unsigned int iio_event_poll(struct file *filep,
struct poll_table_struct *wait) struct poll_table_struct *wait)
{ {
struct iio_event_interface *ev_int = filep->private_data; struct iio_dev *indio_dev = filep->private_data;
struct iio_event_interface *ev_int = indio_dev->event_interface;
unsigned int events = 0; unsigned int events = 0;
poll_wait(filep, &ev_int->wait, wait); poll_wait(filep, &ev_int->wait, wait);
...@@ -90,7 +91,8 @@ static ssize_t iio_event_chrdev_read(struct file *filep, ...@@ -90,7 +91,8 @@ static ssize_t iio_event_chrdev_read(struct file *filep,
size_t count, size_t count,
loff_t *f_ps) loff_t *f_ps)
{ {
struct iio_event_interface *ev_int = filep->private_data; struct iio_dev *indio_dev = filep->private_data;
struct iio_event_interface *ev_int = indio_dev->event_interface;
unsigned int copied; unsigned int copied;
int ret; int ret;
...@@ -121,7 +123,8 @@ static ssize_t iio_event_chrdev_read(struct file *filep, ...@@ -121,7 +123,8 @@ static ssize_t iio_event_chrdev_read(struct file *filep,
static int iio_event_chrdev_release(struct inode *inode, struct file *filep) static int iio_event_chrdev_release(struct inode *inode, struct file *filep)
{ {
struct iio_event_interface *ev_int = filep->private_data; struct iio_dev *indio_dev = filep->private_data;
struct iio_event_interface *ev_int = indio_dev->event_interface;
spin_lock_irq(&ev_int->wait.lock); spin_lock_irq(&ev_int->wait.lock);
__clear_bit(IIO_BUSY_BIT_POS, &ev_int->flags); __clear_bit(IIO_BUSY_BIT_POS, &ev_int->flags);
...@@ -133,6 +136,8 @@ static int iio_event_chrdev_release(struct inode *inode, struct file *filep) ...@@ -133,6 +136,8 @@ static int iio_event_chrdev_release(struct inode *inode, struct file *filep)
kfifo_reset_out(&ev_int->det_events); kfifo_reset_out(&ev_int->det_events);
spin_unlock_irq(&ev_int->wait.lock); spin_unlock_irq(&ev_int->wait.lock);
iio_device_put(indio_dev);
return 0; return 0;
} }
...@@ -158,12 +163,15 @@ int iio_event_getfd(struct iio_dev *indio_dev) ...@@ -158,12 +163,15 @@ int iio_event_getfd(struct iio_dev *indio_dev)
return -EBUSY; return -EBUSY;
} }
spin_unlock_irq(&ev_int->wait.lock); spin_unlock_irq(&ev_int->wait.lock);
fd = anon_inode_getfd("iio:event", iio_device_get(indio_dev);
&iio_event_chrdev_fileops, ev_int, O_RDONLY);
fd = anon_inode_getfd("iio:event", &iio_event_chrdev_fileops,
indio_dev, O_RDONLY);
if (fd < 0) { if (fd < 0) {
spin_lock_irq(&ev_int->wait.lock); spin_lock_irq(&ev_int->wait.lock);
__clear_bit(IIO_BUSY_BIT_POS, &ev_int->flags); __clear_bit(IIO_BUSY_BIT_POS, &ev_int->flags);
spin_unlock_irq(&ev_int->wait.lock); spin_unlock_irq(&ev_int->wait.lock);
iio_device_put(indio_dev);
} }
return fd; return fd;
} }
...@@ -276,7 +284,7 @@ static int iio_device_add_event_sysfs(struct iio_dev *indio_dev, ...@@ -276,7 +284,7 @@ static int iio_device_add_event_sysfs(struct iio_dev *indio_dev,
goto error_ret; goto error_ret;
} }
if (chan->modified) if (chan->modified)
mask = IIO_MOD_EVENT_CODE(chan->type, 0, chan->channel, mask = IIO_MOD_EVENT_CODE(chan->type, 0, chan->channel2,
i/IIO_EV_DIR_MAX, i/IIO_EV_DIR_MAX,
i%IIO_EV_DIR_MAX); i%IIO_EV_DIR_MAX);
else if (chan->differential) else if (chan->differential)
......
...@@ -255,12 +255,14 @@ static int tmp006_remove(struct i2c_client *client) ...@@ -255,12 +255,14 @@ static int tmp006_remove(struct i2c_client *client)
#ifdef CONFIG_PM_SLEEP #ifdef CONFIG_PM_SLEEP
static int tmp006_suspend(struct device *dev) static int tmp006_suspend(struct device *dev)
{ {
return tmp006_powerdown(iio_priv(dev_to_iio_dev(dev))); struct iio_dev *indio_dev = i2c_get_clientdata(to_i2c_client(dev));
return tmp006_powerdown(iio_priv(indio_dev));
} }
static int tmp006_resume(struct device *dev) static int tmp006_resume(struct device *dev)
{ {
struct tmp006_data *data = iio_priv(dev_to_iio_dev(dev)); struct tmp006_data *data = iio_priv(i2c_get_clientdata(
to_i2c_client(dev)));
return i2c_smbus_write_word_swapped(data->client, TMP006_CONFIG, return i2c_smbus_write_word_swapped(data->client, TMP006_CONFIG,
data->config | TMP006_CONFIG_MOD_MASK); data->config | TMP006_CONFIG_MOD_MASK);
} }
......
...@@ -96,6 +96,15 @@ config COMEDI_SKEL ...@@ -96,6 +96,15 @@ config COMEDI_SKEL
To compile this driver as a module, choose M here: the module will be To compile this driver as a module, choose M here: the module will be
called skel. called skel.
config COMEDI_SSV_DNP
tristate "SSV Embedded Systems DIL/Net-PC support"
depends on X86_32 || COMPILE_TEST
---help---
Enable support for SSV Embedded Systems DIL/Net-PC
To compile this driver as a module, choose M here: the module will be
called ssv_dnp.
endif # COMEDI_MISC_DRIVERS endif # COMEDI_MISC_DRIVERS
menuconfig COMEDI_ISA_DRIVERS menuconfig COMEDI_ISA_DRIVERS
...@@ -386,6 +395,14 @@ config COMEDI_DMM32AT ...@@ -386,6 +395,14 @@ config COMEDI_DMM32AT
To compile this driver as a module, choose M here: the module will be To compile this driver as a module, choose M here: the module will be
called dmm32at. called dmm32at.
config COMEDI_UNIOXX5
tristate "Fastwel UNIOxx-5 analog and digital io board support"
---help---
Enable support for Fastwel UNIOxx-5 (analog and digital i/o) boards
To compile this driver as a module, choose M here: the module will be
called unioxx5.
config COMEDI_FL512 config COMEDI_FL512
tristate "FL512 ISA card support" tristate "FL512 ISA card support"
---help--- ---help---
...@@ -855,14 +872,6 @@ config COMEDI_DYNA_PCI10XX ...@@ -855,14 +872,6 @@ config COMEDI_DYNA_PCI10XX
To compile this driver as a module, choose M here: the module will be To compile this driver as a module, choose M here: the module will be
called dyna_pci10xx. called dyna_pci10xx.
config COMEDI_UNIOXX5
tristate "Fastwel UNIOxx-5 analog and digital io board support"
---help---
Enable support for Fastwel UNIOxx-5 (analog and digital i/o) boards
To compile this driver as a module, choose M here: the module will be
called unioxx5.
config COMEDI_GSC_HPDI config COMEDI_GSC_HPDI
tristate "General Standards PCI-HPDI32 / PMC-HPDI32 support" tristate "General Standards PCI-HPDI32 / PMC-HPDI32 support"
select COMEDI_FC select COMEDI_FC
...@@ -1085,14 +1094,6 @@ config COMEDI_S626 ...@@ -1085,14 +1094,6 @@ config COMEDI_S626
To compile this driver as a module, choose M here: the module will be To compile this driver as a module, choose M here: the module will be
called s626. called s626.
config COMEDI_SSV_DNP
tristate "SSV Embedded Systems DIL/Net-PC support"
---help---
Enable support for SSV Embedded Systems DIL/Net-PC
To compile this driver as a module, choose M here: the module will be
called ssv_dnp.
config COMEDI_MITE config COMEDI_MITE
depends on HAS_DMA depends on HAS_DMA
tristate tristate
......
...@@ -474,7 +474,7 @@ static void dgap_cleanup_board(struct board_t *brd) ...@@ -474,7 +474,7 @@ static void dgap_cleanup_board(struct board_t *brd)
DGAP_LOCK(dgap_global_lock, flags); DGAP_LOCK(dgap_global_lock, flags);
brd->msgbuf = NULL; brd->msgbuf = NULL;
printk(brd->msgbuf_head); printk("%s", brd->msgbuf_head);
kfree(brd->msgbuf_head); kfree(brd->msgbuf_head);
brd->msgbuf_head = NULL; brd->msgbuf_head = NULL;
DGAP_UNLOCK(dgap_global_lock, flags); DGAP_UNLOCK(dgap_global_lock, flags);
...@@ -628,7 +628,7 @@ static int dgap_found_board(struct pci_dev *pdev, int id) ...@@ -628,7 +628,7 @@ static int dgap_found_board(struct pci_dev *pdev, int id)
DPR_INIT(("dgap_scan(%d) - printing out the msgbuf\n", i)); DPR_INIT(("dgap_scan(%d) - printing out the msgbuf\n", i));
DGAP_LOCK(dgap_global_lock, flags); DGAP_LOCK(dgap_global_lock, flags);
brd->msgbuf = NULL; brd->msgbuf = NULL;
printk(brd->msgbuf_head); printk("%s", brd->msgbuf_head);
kfree(brd->msgbuf_head); kfree(brd->msgbuf_head);
brd->msgbuf_head = NULL; brd->msgbuf_head = NULL;
DGAP_UNLOCK(dgap_global_lock, flags); DGAP_UNLOCK(dgap_global_lock, flags);
...@@ -955,25 +955,28 @@ static void dgap_mbuf(struct board_t *brd, const char *fmt, ...) { ...@@ -955,25 +955,28 @@ static void dgap_mbuf(struct board_t *brd, const char *fmt, ...) {
char buf[1024]; char buf[1024];
int i; int i;
unsigned long flags; unsigned long flags;
size_t length;
DGAP_LOCK(dgap_global_lock, flags); DGAP_LOCK(dgap_global_lock, flags);
/* Format buf using fmt and arguments contained in ap. */ /* Format buf using fmt and arguments contained in ap. */
va_start(ap, fmt); va_start(ap, fmt);
i = vsprintf(buf, fmt, ap); i = vsnprintf(buf, sizeof(buf), fmt, ap);
va_end(ap); va_end(ap);
DPR((buf)); DPR((buf));
if (!brd || !brd->msgbuf) { if (!brd || !brd->msgbuf) {
printk(buf); printk("%s", buf);
DGAP_UNLOCK(dgap_global_lock, flags); DGAP_UNLOCK(dgap_global_lock, flags);
return; return;
} }
memcpy(brd->msgbuf, buf, strlen(buf)); length = strlen(buf) + 1;
brd->msgbuf += strlen(buf); if (brd->msgbuf - brd->msgbuf_head < length)
*brd->msgbuf = 0; length = brd->msgbuf - brd->msgbuf_head;
memcpy(brd->msgbuf, buf, length);
brd->msgbuf += length;
DGAP_UNLOCK(dgap_global_lock, flags); DGAP_UNLOCK(dgap_global_lock, flags);
} }
......
...@@ -454,7 +454,7 @@ static void dgnc_cleanup_board(struct board_t *brd) ...@@ -454,7 +454,7 @@ static void dgnc_cleanup_board(struct board_t *brd)
DGNC_LOCK(dgnc_global_lock, flags); DGNC_LOCK(dgnc_global_lock, flags);
brd->msgbuf = NULL; brd->msgbuf = NULL;
printk(brd->msgbuf_head); printk("%s", brd->msgbuf_head);
kfree(brd->msgbuf_head); kfree(brd->msgbuf_head);
brd->msgbuf_head = NULL; brd->msgbuf_head = NULL;
DGNC_UNLOCK(dgnc_global_lock, flags); DGNC_UNLOCK(dgnc_global_lock, flags);
...@@ -710,7 +710,7 @@ static int dgnc_found_board(struct pci_dev *pdev, int id) ...@@ -710,7 +710,7 @@ static int dgnc_found_board(struct pci_dev *pdev, int id)
DPR_INIT(("dgnc_scan(%d) - printing out the msgbuf\n", i)); DPR_INIT(("dgnc_scan(%d) - printing out the msgbuf\n", i));
DGNC_LOCK(dgnc_global_lock, flags); DGNC_LOCK(dgnc_global_lock, flags);
brd->msgbuf = NULL; brd->msgbuf = NULL;
printk(brd->msgbuf_head); printk("%s", brd->msgbuf_head);
kfree(brd->msgbuf_head); kfree(brd->msgbuf_head);
brd->msgbuf_head = NULL; brd->msgbuf_head = NULL;
DGNC_UNLOCK(dgnc_global_lock, flags); DGNC_UNLOCK(dgnc_global_lock, flags);
......
...@@ -37,7 +37,7 @@ config IIO_SIMPLE_DUMMY_EVENTS ...@@ -37,7 +37,7 @@ config IIO_SIMPLE_DUMMY_EVENTS
config IIO_SIMPLE_DUMMY_BUFFER config IIO_SIMPLE_DUMMY_BUFFER
boolean "Buffered capture support" boolean "Buffered capture support"
depends on IIO_KFIFO_BUF select IIO_KFIFO_BUF
help help
Add buffered data capture to the simple dummy driver. Add buffered data capture to the simple dummy driver.
......
...@@ -563,6 +563,7 @@ static int isl29018_probe(struct i2c_client *client, ...@@ -563,6 +563,7 @@ static int isl29018_probe(struct i2c_client *client,
mutex_init(&chip->lock); mutex_init(&chip->lock);
chip->lux_scale = 1; chip->lux_scale = 1;
chip->lux_uscale = 0;
chip->range = 1000; chip->range = 1000;
chip->adc_bit = 16; chip->adc_bit = 16;
chip->suspended = false; chip->suspended = false;
......
...@@ -229,7 +229,7 @@ static int hmc5843_read_measurement(struct iio_dev *indio_dev, ...@@ -229,7 +229,7 @@ static int hmc5843_read_measurement(struct iio_dev *indio_dev,
if (result < 0) if (result < 0)
return -EINVAL; return -EINVAL;
*val = result; *val = sign_extend32(result, 15);
return IIO_VAL_INT; return IIO_VAL_INT;
} }
......
...@@ -299,7 +299,7 @@ static int ade7854_spi_probe(struct spi_device *spi) ...@@ -299,7 +299,7 @@ static int ade7854_spi_probe(struct spi_device *spi)
if (ret) if (ret)
iio_device_free(indio_dev); iio_device_free(indio_dev);
return 0; return ret;
} }
static int ade7854_spi_remove(struct spi_device *spi) static int ade7854_spi_remove(struct spi_device *spi)
......
...@@ -244,13 +244,17 @@ static int snd_toneport_source_put(struct snd_kcontrol *kcontrol, ...@@ -244,13 +244,17 @@ static int snd_toneport_source_put(struct snd_kcontrol *kcontrol,
struct snd_line6_pcm *line6pcm = snd_kcontrol_chip(kcontrol); struct snd_line6_pcm *line6pcm = snd_kcontrol_chip(kcontrol);
struct usb_line6_toneport *toneport = struct usb_line6_toneport *toneport =
(struct usb_line6_toneport *)line6pcm->line6; (struct usb_line6_toneport *)line6pcm->line6;
unsigned int source;
if (ucontrol->value.enumerated.item[0] == toneport->source) source = ucontrol->value.enumerated.item[0];
if (source >= ARRAY_SIZE(toneport_source_info))
return -EINVAL;
if (source == toneport->source)
return 0; return 0;
toneport->source = ucontrol->value.enumerated.item[0]; toneport->source = source;
toneport_send_cmd(toneport->line6.usbdev, toneport_send_cmd(toneport->line6.usbdev,
toneport_source_info[toneport->source].code, 0x0000); toneport_source_info[source].code, 0x0000);
return 1; return 1;
} }
......
...@@ -1802,7 +1802,7 @@ kiblnd_recv (lnet_ni_t *ni, void *private, lnet_msg_t *lntmsg, int delayed, ...@@ -1802,7 +1802,7 @@ kiblnd_recv (lnet_ni_t *ni, void *private, lnet_msg_t *lntmsg, int delayed,
int int
kiblnd_thread_start(int (*fn)(void *arg), void *arg, char *name) kiblnd_thread_start(int (*fn)(void *arg), void *arg, char *name)
{ {
struct task_struct *task = kthread_run(fn, arg, name); struct task_struct *task = kthread_run(fn, arg, "%s", name);
if (IS_ERR(task)) if (IS_ERR(task))
return PTR_ERR(task); return PTR_ERR(task);
......
...@@ -1005,7 +1005,7 @@ ksocknal_send(lnet_ni_t *ni, void *private, lnet_msg_t *lntmsg) ...@@ -1005,7 +1005,7 @@ ksocknal_send(lnet_ni_t *ni, void *private, lnet_msg_t *lntmsg)
int int
ksocknal_thread_start(int (*fn)(void *arg), void *arg, char *name) ksocknal_thread_start(int (*fn)(void *arg), void *arg, char *name)
{ {
struct task_struct *task = kthread_run(fn, arg, name); struct task_struct *task = kthread_run(fn, arg, "%s", name);
if (IS_ERR(task)) if (IS_ERR(task))
return PTR_ERR(task); return PTR_ERR(task);
......
config LUSTRE_FS config LUSTRE_FS
tristate "Lustre file system client support" tristate "Lustre file system client support"
depends on INET && m depends on INET && m && !MIPS && !XTENSA && !SUPERH
select LNET select LNET
select CRYPTO select CRYPTO
select CRYPTO_CRC32 select CRYPTO_CRC32
...@@ -52,7 +52,7 @@ config LUSTRE_DEBUG_EXPENSIVE_CHECK ...@@ -52,7 +52,7 @@ config LUSTRE_DEBUG_EXPENSIVE_CHECK
config LUSTRE_TRANSLATE_ERRNOS config LUSTRE_TRANSLATE_ERRNOS
bool bool
depends on LUSTRE_FS && !X86 depends on LUSTRE_FS && !X86
default true default y
config LUSTRE_LLITE_LLOOP config LUSTRE_LLITE_LLOOP
bool "Lustre virtual block device" bool "Lustre virtual block device"
......
...@@ -800,9 +800,9 @@ static int ldlm_bl_thread_start(struct ldlm_bl_pool *blp) ...@@ -800,9 +800,9 @@ static int ldlm_bl_thread_start(struct ldlm_bl_pool *blp)
init_completion(&bltd.bltd_comp); init_completion(&bltd.bltd_comp);
bltd.bltd_num = atomic_read(&blp->blp_num_threads); bltd.bltd_num = atomic_read(&blp->blp_num_threads);
snprintf(bltd.bltd_name, sizeof(bltd.bltd_name) - 1, snprintf(bltd.bltd_name, sizeof(bltd.bltd_name),
"ldlm_bl_%02d", bltd.bltd_num); "ldlm_bl_%02d", bltd.bltd_num);
task = kthread_run(ldlm_bl_thread_main, &bltd, bltd.bltd_name); task = kthread_run(ldlm_bl_thread_main, &bltd, "%s", bltd.bltd_name);
if (IS_ERR(task)) { if (IS_ERR(task)) {
CERROR("cannot start LDLM thread ldlm_bl_%02d: rc %ld\n", CERROR("cannot start LDLM thread ldlm_bl_%02d: rc %ld\n",
atomic_read(&blp->blp_num_threads), PTR_ERR(task)); atomic_read(&blp->blp_num_threads), PTR_ERR(task));
......
...@@ -397,7 +397,7 @@ cfs_wi_sched_create(char *name, struct cfs_cpt_table *cptab, ...@@ -397,7 +397,7 @@ cfs_wi_sched_create(char *name, struct cfs_cpt_table *cptab,
sched->ws_name, sched->ws_nthreads); sched->ws_name, sched->ws_nthreads);
} }
task = kthread_run(cfs_wi_scheduler, sched, name); task = kthread_run(cfs_wi_scheduler, sched, "%s", name);
if (!IS_ERR(task)) { if (!IS_ERR(task)) {
nthrs--; nthrs--;
continue; continue;
......
...@@ -383,8 +383,8 @@ int ptlrpc_start_pinger(void) ...@@ -383,8 +383,8 @@ int ptlrpc_start_pinger(void)
/* CLONE_VM and CLONE_FILES just avoid a needless copy, because we /* CLONE_VM and CLONE_FILES just avoid a needless copy, because we
* just drop the VM and FILES in cfs_daemonize_ctxt() right away. */ * just drop the VM and FILES in cfs_daemonize_ctxt() right away. */
rc = PTR_ERR(kthread_run(ptlrpc_pinger_main, rc = PTR_ERR(kthread_run(ptlrpc_pinger_main, &pinger_thread,
&pinger_thread, pinger_thread.t_name)); "%s", pinger_thread.t_name));
if (IS_ERR_VALUE(rc)) { if (IS_ERR_VALUE(rc)) {
CERROR("cannot start thread: %d\n", rc); CERROR("cannot start thread: %d\n", rc);
return rc; return rc;
......
...@@ -615,7 +615,7 @@ int ptlrpcd_start(int index, int max, const char *name, struct ptlrpcd_ctl *pc) ...@@ -615,7 +615,7 @@ int ptlrpcd_start(int index, int max, const char *name, struct ptlrpcd_ctl *pc)
init_completion(&pc->pc_starting); init_completion(&pc->pc_starting);
init_completion(&pc->pc_finishing); init_completion(&pc->pc_finishing);
spin_lock_init(&pc->pc_lock); spin_lock_init(&pc->pc_lock);
strncpy(pc->pc_name, name, sizeof(pc->pc_name) - 1); strlcpy(pc->pc_name, name, sizeof(pc->pc_name));
pc->pc_set = ptlrpc_prep_set(); pc->pc_set = ptlrpc_prep_set();
if (pc->pc_set == NULL) if (pc->pc_set == NULL)
GOTO(out, rc = -ENOMEM); GOTO(out, rc = -ENOMEM);
...@@ -638,7 +638,7 @@ int ptlrpcd_start(int index, int max, const char *name, struct ptlrpcd_ctl *pc) ...@@ -638,7 +638,7 @@ int ptlrpcd_start(int index, int max, const char *name, struct ptlrpcd_ctl *pc)
GOTO(out, rc); GOTO(out, rc);
} }
task = kthread_run(ptlrpcd, pc, pc->pc_name); task = kthread_run(ptlrpcd, pc, "%s", pc->pc_name);
if (IS_ERR(task)) if (IS_ERR(task))
GOTO(out, rc = PTR_ERR(task)); GOTO(out, rc = PTR_ERR(task));
...@@ -745,7 +745,7 @@ static int ptlrpcd_init(void) ...@@ -745,7 +745,7 @@ static int ptlrpcd_init(void)
if (ptlrpcds == NULL) if (ptlrpcds == NULL)
GOTO(out, rc = -ENOMEM); GOTO(out, rc = -ENOMEM);
snprintf(name, 15, "ptlrpcd_rcv"); snprintf(name, sizeof(name), "ptlrpcd_rcv");
set_bit(LIOD_RECOVERY, &ptlrpcds->pd_thread_rcv.pc_flags); set_bit(LIOD_RECOVERY, &ptlrpcds->pd_thread_rcv.pc_flags);
rc = ptlrpcd_start(-1, nthreads, name, &ptlrpcds->pd_thread_rcv); rc = ptlrpcd_start(-1, nthreads, name, &ptlrpcds->pd_thread_rcv);
if (rc < 0) if (rc < 0)
...@@ -764,7 +764,7 @@ static int ptlrpcd_init(void) ...@@ -764,7 +764,7 @@ static int ptlrpcd_init(void)
* unnecessary dependency. But how to distribute async RPCs load * unnecessary dependency. But how to distribute async RPCs load
* among all the ptlrpc daemons becomes another trouble. */ * among all the ptlrpc daemons becomes another trouble. */
for (i = 0; i < nthreads; i++) { for (i = 0; i < nthreads; i++) {
snprintf(name, 15, "ptlrpcd_%d", i); snprintf(name, sizeof(name), "ptlrpcd_%d", i);
rc = ptlrpcd_start(i, nthreads, name, &ptlrpcds->pd_threads[i]); rc = ptlrpcd_start(i, nthreads, name, &ptlrpcds->pd_threads[i]);
if (rc < 0) if (rc < 0)
GOTO(out, rc); GOTO(out, rc);
......
...@@ -59,8 +59,8 @@ ...@@ -59,8 +59,8 @@
****************************************/ ****************************************/
#define PTRS_PER_PAGE (PAGE_CACHE_SIZE / sizeof(void *)) #define POINTERS_PER_PAGE (PAGE_CACHE_SIZE / sizeof(void *))
#define PAGES_PER_POOL (PTRS_PER_PAGE) #define PAGES_PER_POOL (POINTERS_PER_PAGE)
#define IDLE_IDX_MAX (100) #define IDLE_IDX_MAX (100)
#define IDLE_IDX_WEIGHT (3) #define IDLE_IDX_WEIGHT (3)
......
...@@ -2718,15 +2718,15 @@ int ptlrpc_start_thread(struct ptlrpc_service_part *svcpt, int wait) ...@@ -2718,15 +2718,15 @@ int ptlrpc_start_thread(struct ptlrpc_service_part *svcpt, int wait)
spin_unlock(&svcpt->scp_lock); spin_unlock(&svcpt->scp_lock);
if (svcpt->scp_cpt >= 0) { if (svcpt->scp_cpt >= 0) {
snprintf(thread->t_name, PTLRPC_THR_NAME_LEN, "%s%02d_%03d", snprintf(thread->t_name, sizeof(thread->t_name), "%s%02d_%03d",
svc->srv_thread_name, svcpt->scp_cpt, thread->t_id); svc->srv_thread_name, svcpt->scp_cpt, thread->t_id);
} else { } else {
snprintf(thread->t_name, PTLRPC_THR_NAME_LEN, "%s_%04d", snprintf(thread->t_name, sizeof(thread->t_name), "%s_%04d",
svc->srv_thread_name, thread->t_id); svc->srv_thread_name, thread->t_id);
} }
CDEBUG(D_RPCTRACE, "starting thread '%s'\n", thread->t_name); CDEBUG(D_RPCTRACE, "starting thread '%s'\n", thread->t_name);
rc = PTR_ERR(kthread_run(ptlrpc_main, thread, thread->t_name)); rc = PTR_ERR(kthread_run(ptlrpc_main, thread, "%s", thread->t_name));
if (IS_ERR_VALUE(rc)) { if (IS_ERR_VALUE(rc)) {
CERROR("cannot start thread '%s': rc %d\n", CERROR("cannot start thread '%s': rc %d\n",
thread->t_name, rc); thread->t_name, rc);
......
...@@ -157,8 +157,8 @@ _func_enter_; ...@@ -157,8 +157,8 @@ _func_enter_;
*frlen = *frlen + (len + 2); *frlen = *frlen + (len + 2);
return pbuf + len + 2;
_func_exit_; _func_exit_;
return pbuf + len + 2;
} }
inline u8 *rtw_set_ie_ch_switch (u8 *buf, u32 *buf_len, u8 ch_switch_mode, inline u8 *rtw_set_ie_ch_switch (u8 *buf, u32 *buf_len, u8 ch_switch_mode,
......
...@@ -1827,13 +1827,13 @@ unsigned int OnAction_back(struct adapter *padapter, union recv_frame *precv_fra ...@@ -1827,13 +1827,13 @@ unsigned int OnAction_back(struct adapter *padapter, union recv_frame *precv_fra
#ifdef CONFIG_88EU_P2P #ifdef CONFIG_88EU_P2P
static int get_reg_classes_full_count(struct p2p_channels channel_list) static int get_reg_classes_full_count(struct p2p_channels *channel_list)
{ {
int cnt = 0; int cnt = 0;
int i; int i;
for (i = 0; i < channel_list.reg_classes; i++) { for (i = 0; i < channel_list->reg_classes; i++) {
cnt += channel_list.reg_class[i].channels; cnt += channel_list->reg_class[i].channels;
} }
return cnt; return cnt;
...@@ -2065,7 +2065,7 @@ void issue_p2p_GO_request(struct adapter *padapter, u8 *raddr) ...@@ -2065,7 +2065,7 @@ void issue_p2p_GO_request(struct adapter *padapter, u8 *raddr)
/* + number of channels in all classes */ /* + number of channels in all classes */
len_channellist_attr = 3 len_channellist_attr = 3
+ (1 + 1) * (u16)(pmlmeext->channel_list.reg_classes) + (1 + 1) * (u16)(pmlmeext->channel_list.reg_classes)
+ get_reg_classes_full_count(pmlmeext->channel_list); + get_reg_classes_full_count(&pmlmeext->channel_list);
*(__le16 *)(p2pie + p2pielen) = cpu_to_le16(len_channellist_attr); *(__le16 *)(p2pie + p2pielen) = cpu_to_le16(len_channellist_attr);
p2pielen += 2; p2pielen += 2;
...@@ -2437,7 +2437,7 @@ static void issue_p2p_GO_response(struct adapter *padapter, u8 *raddr, u8 *frame ...@@ -2437,7 +2437,7 @@ static void issue_p2p_GO_response(struct adapter *padapter, u8 *raddr, u8 *frame
/* + number of channels in all classes */ /* + number of channels in all classes */
len_channellist_attr = 3 len_channellist_attr = 3
+ (1 + 1) * (u16)pmlmeext->channel_list.reg_classes + (1 + 1) * (u16)pmlmeext->channel_list.reg_classes
+ get_reg_classes_full_count(pmlmeext->channel_list); + get_reg_classes_full_count(&pmlmeext->channel_list);
*(__le16 *)(p2pie + p2pielen) = cpu_to_le16(len_channellist_attr); *(__le16 *)(p2pie + p2pielen) = cpu_to_le16(len_channellist_attr);
...@@ -2859,7 +2859,7 @@ void issue_p2p_invitation_request(struct adapter *padapter, u8 *raddr) ...@@ -2859,7 +2859,7 @@ void issue_p2p_invitation_request(struct adapter *padapter, u8 *raddr)
/* + number of channels in all classes */ /* + number of channels in all classes */
len_channellist_attr = 3 len_channellist_attr = 3
+ (1 + 1) * (u16)pmlmeext->channel_list.reg_classes + (1 + 1) * (u16)pmlmeext->channel_list.reg_classes
+ get_reg_classes_full_count(pmlmeext->channel_list); + get_reg_classes_full_count(&pmlmeext->channel_list);
*(__le16 *)(p2pie + p2pielen) = cpu_to_le16(len_channellist_attr); *(__le16 *)(p2pie + p2pielen) = cpu_to_le16(len_channellist_attr);
...@@ -3120,7 +3120,7 @@ void issue_p2p_invitation_response(struct adapter *padapter, u8 *raddr, u8 dialo ...@@ -3120,7 +3120,7 @@ void issue_p2p_invitation_response(struct adapter *padapter, u8 *raddr, u8 dialo
/* + number of channels in all classes */ /* + number of channels in all classes */
len_channellist_attr = 3 len_channellist_attr = 3
+ (1 + 1) * (u16)pmlmeext->channel_list.reg_classes + (1 + 1) * (u16)pmlmeext->channel_list.reg_classes
+ get_reg_classes_full_count(pmlmeext->channel_list); + get_reg_classes_full_count(&pmlmeext->channel_list);
*(__le16 *)(p2pie + p2pielen) = cpu_to_le16(len_channellist_attr); *(__le16 *)(p2pie + p2pielen) = cpu_to_le16(len_channellist_attr);
p2pielen += 2; p2pielen += 2;
......
...@@ -631,7 +631,7 @@ void WMMOnAssocRsp(struct adapter *padapter) ...@@ -631,7 +631,7 @@ void WMMOnAssocRsp(struct adapter *padapter)
inx[0] = 0; inx[1] = 1; inx[2] = 2; inx[3] = 3; inx[0] = 0; inx[1] = 1; inx[2] = 2; inx[3] = 3;
if (pregpriv->wifi_spec == 1) { if (pregpriv->wifi_spec == 1) {
u32 j, tmp, change_inx; u32 j, tmp, change_inx = false;
/* entry indx: 0->vo, 1->vi, 2->be, 3->bk. */ /* entry indx: 0->vo, 1->vi, 2->be, 3->bk. */
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
......
...@@ -1010,7 +1010,7 @@ enum dm_dig_op { ...@@ -1010,7 +1010,7 @@ enum dm_dig_op {
#define DM_false_ALARM_THRESH_LOW 400 #define DM_false_ALARM_THRESH_LOW 400
#define DM_false_ALARM_THRESH_HIGH 1000 #define DM_false_ALARM_THRESH_HIGH 1000
#define DM_DIG_MAX_NIC 0x3e #define DM_DIG_MAX_NIC 0x4e
#define DM_DIG_MIN_NIC 0x1e /* 0x22/0x1c */ #define DM_DIG_MIN_NIC 0x1e /* 0x22/0x1c */
#define DM_DIG_MAX_AP 0x32 #define DM_DIG_MAX_AP 0x32
......
...@@ -188,7 +188,7 @@ enum ChannelPlan { ...@@ -188,7 +188,7 @@ enum ChannelPlan {
struct txpowerinfo24g { struct txpowerinfo24g {
u8 IndexCCK_Base[MAX_RF_PATH][MAX_CHNL_GROUP_24G]; u8 IndexCCK_Base[MAX_RF_PATH][MAX_CHNL_GROUP_24G];
u8 IndexBW40_Base[MAX_RF_PATH][MAX_CHNL_GROUP_24G-1]; u8 IndexBW40_Base[MAX_RF_PATH][MAX_CHNL_GROUP_24G];
/* If only one tx, only BW20 and OFDM are used. */ /* If only one tx, only BW20 and OFDM are used. */
s8 CCK_Diff[MAX_RF_PATH][MAX_TX_COUNT]; s8 CCK_Diff[MAX_RF_PATH][MAX_TX_COUNT];
s8 OFDM_Diff[MAX_RF_PATH][MAX_TX_COUNT]; s8 OFDM_Diff[MAX_RF_PATH][MAX_TX_COUNT];
......
...@@ -870,6 +870,7 @@ static struct fwevent wlanevents[] = { ...@@ -870,6 +870,7 @@ static struct fwevent wlanevents[] = {
{0, NULL}, {0, NULL},
{0, NULL}, {0, NULL},
{0, &rtw_cpwm_event_callback}, {0, &rtw_cpwm_event_callback},
{0, NULL},
}; };
#endif/* _RTL_MLME_EXT_C_ */ #endif/* _RTL_MLME_EXT_C_ */
......
...@@ -2054,7 +2054,7 @@ static int xillybus_init_chrdev(struct xilly_endpoint *endpoint, ...@@ -2054,7 +2054,7 @@ static int xillybus_init_chrdev(struct xilly_endpoint *endpoint,
NULL, NULL,
MKDEV(major, i), MKDEV(major, i),
NULL, NULL,
devname); "%s", devname);
if (IS_ERR(device)) { if (IS_ERR(device)) {
pr_warn("xillybus: Failed to create %s " pr_warn("xillybus: Failed to create %s "
......
...@@ -981,4 +981,3 @@ MODULE_PARM_DESC(num_devices, "Number of zram devices"); ...@@ -981,4 +981,3 @@ MODULE_PARM_DESC(num_devices, "Number of zram devices");
MODULE_LICENSE("Dual BSD/GPL"); MODULE_LICENSE("Dual BSD/GPL");
MODULE_AUTHOR("Nitin Gupta <ngupta@vflare.org>"); MODULE_AUTHOR("Nitin Gupta <ngupta@vflare.org>");
MODULE_DESCRIPTION("Compressed RAM Block Device"); MODULE_DESCRIPTION("Compressed RAM Block Device");
MODULE_ALIAS("devname:zram");
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment