Commit 8b97be05 authored by Linus Torvalds's avatar Linus Torvalds

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

Pull staging driver fixes from Greg KH:
 "Here are some fixes that poped up due to the big staging tree merge,
  as well as the removal of a staging driver that now is covered by a
  "real" driver.

  All of these have been in linux-next for a few days with no reported
  issues"

* tag 'staging-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
  staging: delete STE RMI4 hackish driver
  staging: android: ion_test: fix check of platform_device_register_simple() error code
  staging: wilc1000: fix a couple of memory leaks
  staging: fsl-mc: fix incorrect type passed to dev_err macros
  staging: fsl-mc: fix incorrect type passed to dev_dbg macros
  staging: wilc1000: fixed kernel panic when firmware is not started
  staging: comedi: ni_mio_common: fix the ni_write[blw]() functions
  staging: most: hdm-dim2: Remove possible dereference error
  staging: lustre: checking for NULL instead of IS_ERR
  staging: lustre: really make lustre dependent on LNet
  staging: refresh TODO for rtl8712
  staging: refresh TODO for rtl8723au
parents 44d1b6dd 8bb7e27b
...@@ -60,8 +60,6 @@ source "drivers/staging/emxx_udc/Kconfig" ...@@ -60,8 +60,6 @@ source "drivers/staging/emxx_udc/Kconfig"
source "drivers/staging/speakup/Kconfig" source "drivers/staging/speakup/Kconfig"
source "drivers/staging/ste_rmi4/Kconfig"
source "drivers/staging/nvec/Kconfig" source "drivers/staging/nvec/Kconfig"
source "drivers/staging/media/Kconfig" source "drivers/staging/media/Kconfig"
......
...@@ -21,7 +21,6 @@ obj-$(CONFIG_FB_SM750) += sm750fb/ ...@@ -21,7 +21,6 @@ obj-$(CONFIG_FB_SM750) += sm750fb/
obj-$(CONFIG_FB_XGI) += xgifb/ obj-$(CONFIG_FB_XGI) += xgifb/
obj-$(CONFIG_USB_EMXX) += emxx_udc/ obj-$(CONFIG_USB_EMXX) += emxx_udc/
obj-$(CONFIG_SPEAKUP) += speakup/ obj-$(CONFIG_SPEAKUP) += speakup/
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4) += ste_rmi4/
obj-$(CONFIG_MFD_NVEC) += nvec/ obj-$(CONFIG_MFD_NVEC) += nvec/
obj-$(CONFIG_STAGING_RDMA) += rdma/ obj-$(CONFIG_STAGING_RDMA) += rdma/
obj-$(CONFIG_ANDROID) += android/ obj-$(CONFIG_ANDROID) += android/
......
...@@ -285,8 +285,8 @@ static int __init ion_test_init(void) ...@@ -285,8 +285,8 @@ static int __init ion_test_init(void)
{ {
ion_test_pdev = platform_device_register_simple("ion-test", ion_test_pdev = platform_device_register_simple("ion-test",
-1, NULL, 0); -1, NULL, 0);
if (!ion_test_pdev) if (IS_ERR(ion_test_pdev))
return -ENODEV; return PTR_ERR(ion_test_pdev);
return platform_driver_probe(&ion_test_platform_driver, ion_test_probe); return platform_driver_probe(&ion_test_platform_driver, ion_test_probe);
} }
......
...@@ -246,7 +246,7 @@ static void ni_writel(struct comedi_device *dev, uint32_t data, int reg) ...@@ -246,7 +246,7 @@ static void ni_writel(struct comedi_device *dev, uint32_t data, int reg)
{ {
if (dev->mmio) if (dev->mmio)
writel(data, dev->mmio + reg); writel(data, dev->mmio + reg);
else
outl(data, dev->iobase + reg); outl(data, dev->iobase + reg);
} }
...@@ -254,7 +254,7 @@ static void ni_writew(struct comedi_device *dev, uint16_t data, int reg) ...@@ -254,7 +254,7 @@ static void ni_writew(struct comedi_device *dev, uint16_t data, int reg)
{ {
if (dev->mmio) if (dev->mmio)
writew(data, dev->mmio + reg); writew(data, dev->mmio + reg);
else
outw(data, dev->iobase + reg); outw(data, dev->iobase + reg);
} }
...@@ -262,7 +262,7 @@ static void ni_writeb(struct comedi_device *dev, uint8_t data, int reg) ...@@ -262,7 +262,7 @@ static void ni_writeb(struct comedi_device *dev, uint8_t data, int reg)
{ {
if (dev->mmio) if (dev->mmio)
writeb(data, dev->mmio + reg); writeb(data, dev->mmio + reg);
else
outb(data, dev->iobase + reg); outb(data, dev->iobase + reg);
} }
......
...@@ -260,14 +260,14 @@ static int get_dprc_icid(struct fsl_mc_io *mc_io, ...@@ -260,14 +260,14 @@ static int get_dprc_icid(struct fsl_mc_io *mc_io,
error = dprc_open(mc_io, 0, container_id, &dprc_handle); error = dprc_open(mc_io, 0, container_id, &dprc_handle);
if (error < 0) { if (error < 0) {
dev_err(&mc_io->dev, "dprc_open() failed: %d\n", error); dev_err(mc_io->dev, "dprc_open() failed: %d\n", error);
return error; return error;
} }
memset(&attr, 0, sizeof(attr)); memset(&attr, 0, sizeof(attr));
error = dprc_get_attributes(mc_io, 0, dprc_handle, &attr); error = dprc_get_attributes(mc_io, 0, dprc_handle, &attr);
if (error < 0) { if (error < 0) {
dev_err(&mc_io->dev, "dprc_get_attributes() failed: %d\n", dev_err(mc_io->dev, "dprc_get_attributes() failed: %d\n",
error); error);
goto common_cleanup; goto common_cleanup;
} }
......
...@@ -328,7 +328,7 @@ static int mc_polling_wait_preemptible(struct fsl_mc_io *mc_io, ...@@ -328,7 +328,7 @@ static int mc_polling_wait_preemptible(struct fsl_mc_io *mc_io,
MC_CMD_COMPLETION_POLLING_MAX_SLEEP_USECS); MC_CMD_COMPLETION_POLLING_MAX_SLEEP_USECS);
if (time_after_eq(jiffies, jiffies_until_timeout)) { if (time_after_eq(jiffies, jiffies_until_timeout)) {
dev_dbg(&mc_io->dev, dev_dbg(mc_io->dev,
"MC command timed out (portal: %#llx, obj handle: %#x, command: %#x)\n", "MC command timed out (portal: %#llx, obj handle: %#x, command: %#x)\n",
mc_io->portal_phys_addr, mc_io->portal_phys_addr,
(unsigned int) (unsigned int)
...@@ -370,7 +370,7 @@ static int mc_polling_wait_atomic(struct fsl_mc_io *mc_io, ...@@ -370,7 +370,7 @@ static int mc_polling_wait_atomic(struct fsl_mc_io *mc_io,
udelay(MC_CMD_COMPLETION_POLLING_MAX_SLEEP_USECS); udelay(MC_CMD_COMPLETION_POLLING_MAX_SLEEP_USECS);
timeout_usecs -= MC_CMD_COMPLETION_POLLING_MAX_SLEEP_USECS; timeout_usecs -= MC_CMD_COMPLETION_POLLING_MAX_SLEEP_USECS;
if (timeout_usecs == 0) { if (timeout_usecs == 0) {
dev_dbg(&mc_io->dev, dev_dbg(mc_io->dev,
"MC command timed out (portal: %#llx, obj handle: %#x, command: %#x)\n", "MC command timed out (portal: %#llx, obj handle: %#x, command: %#x)\n",
mc_io->portal_phys_addr, mc_io->portal_phys_addr,
(unsigned int) (unsigned int)
...@@ -426,7 +426,7 @@ int mc_send_command(struct fsl_mc_io *mc_io, struct mc_command *cmd) ...@@ -426,7 +426,7 @@ int mc_send_command(struct fsl_mc_io *mc_io, struct mc_command *cmd)
goto common_exit; goto common_exit;
if (status != MC_CMD_STATUS_OK) { if (status != MC_CMD_STATUS_OK) {
dev_dbg(&mc_io->dev, dev_dbg(mc_io->dev,
"MC command failed: portal: %#llx, obj handle: %#x, command: %#x, status: %s (%#x)\n", "MC command failed: portal: %#llx, obj handle: %#x, command: %#x, status: %s (%#x)\n",
mc_io->portal_phys_addr, mc_io->portal_phys_addr,
(unsigned int)MC_CMD_HDR_READ_TOKEN(cmd->header), (unsigned int)MC_CMD_HDR_READ_TOKEN(cmd->header),
......
config LUSTRE_FS config LUSTRE_FS
tristate "Lustre file system client support" tristate "Lustre file system client support"
depends on m && !MIPS && !XTENSA && !SUPERH depends on m && !MIPS && !XTENSA && !SUPERH
select LNET depends on LNET
select CRYPTO select CRYPTO
select CRYPTO_CRC32 select CRYPTO_CRC32
select CRYPTO_CRC32_PCLMUL if X86 select CRYPTO_CRC32_PCLMUL if X86
......
...@@ -1282,7 +1282,7 @@ static int mgc_apply_recover_logs(struct obd_device *mgc, ...@@ -1282,7 +1282,7 @@ static int mgc_apply_recover_logs(struct obd_device *mgc,
rc = -ENOMEM; rc = -ENOMEM;
lcfg = lustre_cfg_new(LCFG_PARAM, &bufs); lcfg = lustre_cfg_new(LCFG_PARAM, &bufs);
if (!lcfg) { if (IS_ERR(lcfg)) {
CERROR("mgc: cannot allocate memory\n"); CERROR("mgc: cannot allocate memory\n");
break; break;
} }
......
...@@ -771,7 +771,7 @@ static int dim2_probe(struct platform_device *pdev) ...@@ -771,7 +771,7 @@ static int dim2_probe(struct platform_device *pdev)
dev->netinfo_task = kthread_run(&deliver_netinfo_thread, (void *)dev, dev->netinfo_task = kthread_run(&deliver_netinfo_thread, (void *)dev,
"dim2_netinfo"); "dim2_netinfo");
if (IS_ERR(dev->netinfo_task)) if (IS_ERR(dev->netinfo_task))
ret = PTR_ERR(dev->netinfo_task); return PTR_ERR(dev->netinfo_task);
for (i = 0; i < DMA_CHANNELS; i++) { for (i = 0; i < DMA_CHANNELS; i++) {
struct most_channel_capability *cap = dev->capabilities + i; struct most_channel_capability *cap = dev->capabilities + i;
......
...@@ -4,10 +4,10 @@ TODO: ...@@ -4,10 +4,10 @@ TODO:
- switch to use MAC80211 - switch to use MAC80211
- checkpatch.pl fixes - only a few remain - checkpatch.pl fixes - only a few remain
Please send any patches to Greg Kroah-Hartman <greg@kroah.com>, A replacement for this driver with MAC80211 support is available
Larry Finger <Larry.Finger@lwfinger.net> and at https://github.com/chunkeey/rtl8192su
Florian Schilhabel <florian.c.schilhabel@googlemail.com>.
Please send any patches to Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Larry Finger <Larry.Finger@lwfinger.net>,
Florian Schilhabel <florian.c.schilhabel@googlemail.com> and
Linux Driver Project Developer List <driverdev-devel@linuxdriverproject.org>.
...@@ -9,5 +9,8 @@ TODO: ...@@ -9,5 +9,8 @@ TODO:
- merge Realtek's bugfixes and new features into the driver - merge Realtek's bugfixes and new features into the driver
- switch to use MAC80211 - switch to use MAC80211
A mac80211 driver for this hardware already was integrated at
drivers/net/wireless/realtek/rtl8xxxu/
Please send any patches to Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Please send any patches to Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jes Sorensen <Jes.Sorensen@redhat.com>, and Larry Finger <Larry.Finger@lwfinger.net>. Jes Sorensen <Jes.Sorensen@redhat.com>, and Larry Finger <Larry.Finger@lwfinger.net>.
config TOUCHSCREEN_SYNAPTICS_I2C_RMI4
tristate "Synaptics i2c rmi4 touchscreen"
depends on I2C && INPUT
help
Say Y here if you have a Synaptics RMI4 and
want to enable support for the built-in touchscreen.
To compile this driver as a module, choose M here: the
module will be called synaptics_rmi4_ts.
#
# Makefile for the RMI4 touchscreen driver.
#
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4) += synaptics_i2c_rmi4.o
TODO
----
Wait for the official upstream synaptics rmi4 clearpad drivers as promised over the past few months
Merge any device support needed from this driver into it
Delete this driver
This diff is collapsed.
/**
*
* Synaptics Register Mapped Interface (RMI4) I2C Physical Layer Driver.
* Copyright (c) 2007-2010, Synaptics Incorporated
*
* Author: Js HA <js.ha@stericsson.com> for ST-Ericsson
* Author: Naveen Kumar G <naveen.gaddipati@stericsson.com> for ST-Ericsson
* Copyright 2010 (c) ST-Ericsson AB
*/
/*
* This file is licensed under the GPL2 license.
*
*#############################################################################
* GPL
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published
* by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
*#############################################################################
*/
#ifndef _SYNAPTICS_RMI4_H_INCLUDED_
#define _SYNAPTICS_RMI4_H_INCLUDED_
/**
* struct synaptics_rmi4_platform_data - contains the rmi4 platform data
* @irq_number: irq number
* @irq_type: irq type
* @x flip: x flip flag
* @y flip: y flip flag
*
* This structure gives platform data for rmi4.
*/
struct synaptics_rmi4_platform_data {
int irq_type;
bool x_flip;
bool y_flip;
};
#endif
...@@ -338,9 +338,11 @@ s32 wilc_parse_network_info(u8 *msg_buffer, ...@@ -338,9 +338,11 @@ s32 wilc_parse_network_info(u8 *msg_buffer,
if (ies_len > 0) { if (ies_len > 0) {
network_info->ies = kmemdup(ies, ies_len, GFP_KERNEL); network_info->ies = kmemdup(ies, ies_len, GFP_KERNEL);
if (!network_info->ies) if (!network_info->ies) {
kfree(network_info);
return -ENOMEM; return -ENOMEM;
} }
}
network_info->ies_len = ies_len; network_info->ies_len = ies_len;
} }
...@@ -373,8 +375,10 @@ s32 wilc_parse_assoc_resp_info(u8 *buffer, u32 buffer_len, ...@@ -373,8 +375,10 @@ s32 wilc_parse_assoc_resp_info(u8 *buffer, u32 buffer_len,
AID_LEN); AID_LEN);
connect_resp_info->ies = kmemdup(ies, ies_len, GFP_KERNEL); connect_resp_info->ies = kmemdup(ies, ies_len, GFP_KERNEL);
if (!connect_resp_info->ies) if (!connect_resp_info->ies) {
kfree(connect_resp_info);
return -ENOMEM; return -ENOMEM;
}
connect_resp_info->ies_len = ies_len; connect_resp_info->ies_len = ies_len;
} }
......
...@@ -2170,6 +2170,13 @@ static int get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, ...@@ -2170,6 +2170,13 @@ static int get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev,
int ret; int ret;
struct wilc_priv *priv = wiphy_priv(wiphy); struct wilc_priv *priv = wiphy_priv(wiphy);
struct wilc_vif *vif = netdev_priv(priv->dev); struct wilc_vif *vif = netdev_priv(priv->dev);
struct wilc *wl;
wl = vif->wilc;
/* If firmware is not started, return. */
if (!wl->initialized)
return -EIO;
ret = wilc_get_tx_power(vif, (u8 *)dbm); ret = wilc_get_tx_power(vif, (u8 *)dbm);
if (ret) if (ret)
......
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