Staging fixes for 4.6-rc1
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. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEABECAAYFAlb0EWAACgkQMUfUDdst+ylbOgCg0juf3uMHCi3i02bgKuRHFB79 EYkAoJxEe+NqxbrabtyC2hm6Y+8Z5DyJ =qwb0 -----END PGP SIGNATURE----- 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
This commit is contained in:
Коммит
8b97be0545
|
@ -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/
|
||||||
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)
|
||||||
{
|
{
|
||||||
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,24 +246,24 @@ 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);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ni_writew(struct comedi_device *dev, uint16_t data, int reg)
|
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ni_writeb(struct comedi_device *dev, uint8_t data, int reg)
|
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint32_t ni_readl(struct comedi_device *dev, int reg)
|
static uint32_t ni_readl(struct comedi_device *dev, int reg)
|
||||||
|
|
|
@ -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,
|
||||||
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,
|
||||||
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)
|
||||||
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),
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
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,
|
||||||
|
|
||||||
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)
|
||||||
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:
|
||||||
- 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:
|
||||||
- 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>.
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
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.
|
|
|
@ -1,4 +0,0 @@
|
||||||
#
|
|
||||||
# Makefile for the RMI4 touchscreen driver.
|
|
||||||
#
|
|
||||||
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4) += synaptics_i2c_rmi4.o
|
|
|
@ -1,7 +0,0 @@
|
||||||
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
|
|
||||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -1,46 +0,0 @@
|
||||||
/**
|
|
||||||
*
|
|
||||||
* 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,8 +338,10 @@ 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,
|
||||||
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,
|
||||||
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)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче