Skip to content

Commit

Permalink
Merge tag 'staging-4.19-rc4' of git://git.kernel.org/pub/scm/linux/ke…
Browse files Browse the repository at this point in the history
…rnel/git/gregkh/staging

Pull staging/IIO driver fixes from Greg KH:
 "Here are a few small staging and iio driver fixes for -rc4.

  Nothing major, just a few small bugfixes for some reported issues, and
  a MAINTAINERS file update for the fbtft drivers.

  We also re-enable the building of the erofs filesystem as the XArray
  patches that were causing it to break never got merged in the -rc1
  cycle, so there's no reason it can't be turned back on for now. The
  problem that was previously there is now being handled in the Xarray
  tree at the moment, so it will not hit us again in the future.

  All of these patches have been in linux-next with no reported issues"

* tag 'staging-4.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
  staging: vboxvideo: Change address of scanout buffer on page-flip
  staging: vboxvideo: Fix IRQs no longer working
  staging: gasket: TODO: re-implement using UIO
  staging/fbtft: Update TODO and mailing lists
  staging: erofs: rename superblock flags (MS_xyz -> SB_xyz)
  iio: imu: st_lsm6dsx: take into account ts samples in wm configuration
  Revert "iio: temperature: maxim_thermocouple: add MAX31856 part"
  Revert "staging: erofs: disable compiling temporarile"
  MAINTAINERS: Switch a maintainer for drivers/staging/gasket
  staging: wilc1000: revert "fix TODO to compile spi and sdio components in single module"
  • Loading branch information
torvalds committed Sep 14, 2018
2 parents 319cbac + 65aac17 commit 45d9ab8
Show file tree
Hide file tree
Showing 14 changed files with 57 additions and 20 deletions.
4 changes: 3 additions & 1 deletion MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -5625,6 +5625,8 @@ F: lib/fault-inject.c

FBTFT Framebuffer drivers
M: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
L: dri-devel@lists.freedesktop.org
L: linux-fbdev@vger.kernel.org
S: Maintained
F: drivers/staging/fbtft/

Expand Down Expand Up @@ -6060,7 +6062,7 @@ F: Documentation/gcc-plugins.txt

GASKET DRIVER FRAMEWORK
M: Rob Springer <rspringer@google.com>
M: John Joseph <jnjoseph@google.com>
M: Todd Poynor <toddpoynor@google.com>
M: Ben Chan <benchan@chromium.org>
S: Maintained
F: drivers/staging/gasket/
Expand Down
13 changes: 6 additions & 7 deletions drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c
Original file line number Diff line number Diff line change
Expand Up @@ -187,12 +187,15 @@ static int st_lsm6dsx_set_fifo_odr(struct st_lsm6dsx_sensor *sensor,

int st_lsm6dsx_update_watermark(struct st_lsm6dsx_sensor *sensor, u16 watermark)
{
u16 fifo_watermark = ~0, cur_watermark, sip = 0, fifo_th_mask;
u16 fifo_watermark = ~0, cur_watermark, fifo_th_mask;
struct st_lsm6dsx_hw *hw = sensor->hw;
struct st_lsm6dsx_sensor *cur_sensor;
int i, err, data;
__le16 wdata;

if (!hw->sip)
return 0;

for (i = 0; i < ST_LSM6DSX_ID_MAX; i++) {
cur_sensor = iio_priv(hw->iio_devs[i]);

Expand All @@ -203,14 +206,10 @@ int st_lsm6dsx_update_watermark(struct st_lsm6dsx_sensor *sensor, u16 watermark)
: cur_sensor->watermark;

fifo_watermark = min_t(u16, fifo_watermark, cur_watermark);
sip += cur_sensor->sip;
}

if (!sip)
return 0;

fifo_watermark = max_t(u16, fifo_watermark, sip);
fifo_watermark = (fifo_watermark / sip) * sip;
fifo_watermark = max_t(u16, fifo_watermark, hw->sip);
fifo_watermark = (fifo_watermark / hw->sip) * hw->sip;
fifo_watermark = fifo_watermark * hw->settings->fifo_ops.th_wl;

err = regmap_read(hw->regmap, hw->settings->fifo_ops.fifo_th.addr + 1,
Expand Down
1 change: 0 additions & 1 deletion drivers/iio/temperature/maxim_thermocouple.c
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,6 @@ static int maxim_thermocouple_remove(struct spi_device *spi)
static const struct spi_device_id maxim_thermocouple_id[] = {
{"max6675", MAX6675},
{"max31855", MAX31855},
{"max31856", MAX31855},
{},
};
MODULE_DEVICE_TABLE(spi, maxim_thermocouple_id);
Expand Down
2 changes: 1 addition & 1 deletion drivers/staging/erofs/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

config EROFS_FS
tristate "EROFS filesystem support"
depends on BROKEN
depends on BLOCK
help
EROFS(Enhanced Read-Only File System) is a lightweight
read-only file system with modern designs (eg. page-sized
Expand Down
4 changes: 2 additions & 2 deletions drivers/staging/erofs/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -340,7 +340,7 @@ static int erofs_read_super(struct super_block *sb,
goto err_sbread;

sb->s_magic = EROFS_SUPER_MAGIC;
sb->s_flags |= MS_RDONLY | MS_NOATIME;
sb->s_flags |= SB_RDONLY | SB_NOATIME;
sb->s_maxbytes = MAX_LFS_FILESIZE;
sb->s_time_gran = 1;

Expand Down Expand Up @@ -627,7 +627,7 @@ static int erofs_remount(struct super_block *sb, int *flags, char *data)
{
BUG_ON(!sb_rdonly(sb));

*flags |= MS_RDONLY;
*flags |= SB_RDONLY;
return 0;
}

Expand Down
4 changes: 4 additions & 0 deletions drivers/staging/fbtft/TODO
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,7 @@
GPIO descriptor API in <linux/gpio/consumer.h> and look up GPIO
lines from device tree, ACPI or board files, board files should
use <linux/gpio/machine.h>

* convert all these over to drm_simple_display_pipe and submit for inclusion
into the DRM subsystem under drivers/gpu/drm - fbdev doesn't take any new
drivers anymore.
13 changes: 13 additions & 0 deletions drivers/staging/gasket/TODO
Original file line number Diff line number Diff line change
@@ -1,9 +1,22 @@
This is a list of things that need to be done to get this driver out of the
staging directory.

- Implement the gasket framework's functionality through UIO instead of
introducing a new user-space drivers framework that is quite similar.

UIO provides the necessary bits to implement user-space drivers. Meanwhile
the gasket APIs adds some extra conveniences like PCI BAR mapping, and
MSI interrupts. Add these features to the UIO subsystem, then re-implement
the Apex driver as a basic UIO driver instead (include/linux/uio_driver.h)

- Document sysfs files with Documentation/ABI/ entries.

- Use misc interface instead of major number for driver version description.

- Add descriptions of module_param's

- apex_get_status() should actually check status.

- "drivers" should never be dealing with "raw" sysfs calls or mess around with
kobjects at all. The driver core should handle all of this for you
automaically. There should not be a need for raw attribute macros.
7 changes: 7 additions & 0 deletions drivers/staging/vboxvideo/vbox_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,11 @@ static int vbox_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
ret = PTR_ERR(dev);
goto err_drv_alloc;
}

ret = pci_enable_device(pdev);
if (ret)
goto err_pci_enable;

dev->pdev = pdev;
pci_set_drvdata(pdev, dev);

Expand All @@ -75,6 +80,8 @@ static int vbox_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
err_drv_dev_register:
vbox_driver_unload(dev);
err_vbox_driver_load:
pci_disable_device(pdev);
err_pci_enable:
drm_dev_put(dev);
err_drv_alloc:
return ret;
Expand Down
5 changes: 5 additions & 0 deletions drivers/staging/vboxvideo/vbox_mode.c
Original file line number Diff line number Diff line change
Expand Up @@ -323,6 +323,11 @@ static int vbox_crtc_page_flip(struct drm_crtc *crtc,
if (rc)
return rc;

mutex_lock(&vbox->hw_mutex);
vbox_set_view(crtc);
vbox_do_modeset(crtc, &crtc->mode);
mutex_unlock(&vbox->hw_mutex);

spin_lock_irqsave(&drm->event_lock, flags);

if (event)
Expand Down
3 changes: 1 addition & 2 deletions drivers/staging/wilc1000/Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# SPDX-License-Identifier: GPL-2.0
obj-$(CONFIG_WILC1000) += wilc1000.o

ccflags-y += -DFIRMWARE_1002=\"atmel/wilc1002_firmware.bin\" \
-DFIRMWARE_1003=\"atmel/wilc1003_firmware.bin\"
Expand All @@ -11,9 +12,7 @@ wilc1000-objs := wilc_wfi_cfgoperations.o linux_wlan.o linux_mon.o \
wilc_wlan.o

obj-$(CONFIG_WILC1000_SDIO) += wilc1000-sdio.o
wilc1000-sdio-objs += $(wilc1000-objs)
wilc1000-sdio-objs += wilc_sdio.o

obj-$(CONFIG_WILC1000_SPI) += wilc1000-spi.o
wilc1000-spi-objs += $(wilc1000-objs)
wilc1000-spi-objs += wilc_spi.o
6 changes: 4 additions & 2 deletions drivers/staging/wilc1000/linux_wlan.c
Original file line number Diff line number Diff line change
Expand Up @@ -1038,8 +1038,8 @@ void wilc_netdev_cleanup(struct wilc *wilc)
}

kfree(wilc);
wilc_debugfs_remove();
}
EXPORT_SYMBOL_GPL(wilc_netdev_cleanup);

static const struct net_device_ops wilc_netdev_ops = {
.ndo_init = mac_init_fn,
Expand All @@ -1062,7 +1062,6 @@ int wilc_netdev_init(struct wilc **wilc, struct device *dev, int io_type,
if (!wl)
return -ENOMEM;

wilc_debugfs_init();
*wilc = wl;
wl->io_type = io_type;
wl->hif_func = ops;
Expand Down Expand Up @@ -1124,3 +1123,6 @@ int wilc_netdev_init(struct wilc **wilc, struct device *dev, int io_type,

return 0;
}
EXPORT_SYMBOL_GPL(wilc_netdev_init);

MODULE_LICENSE("GPL");
7 changes: 5 additions & 2 deletions drivers/staging/wilc1000/wilc_debugfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ static struct dentry *wilc_dir;

#define DBG_LEVEL_ALL (DEBUG | INFO | WRN | ERR)
static atomic_t WILC_DEBUG_LEVEL = ATOMIC_INIT(ERR);
EXPORT_SYMBOL_GPL(WILC_DEBUG_LEVEL);

static ssize_t wilc_debug_level_read(struct file *file, char __user *userbuf,
size_t count, loff_t *ppos)
Expand Down Expand Up @@ -87,7 +88,7 @@ static struct wilc_debugfs_info_t debugfs_info[] = {
},
};

int wilc_debugfs_init(void)
static int __init wilc_debugfs_init(void)
{
int i;
struct wilc_debugfs_info_t *info;
Expand All @@ -103,10 +104,12 @@ int wilc_debugfs_init(void)
}
return 0;
}
module_init(wilc_debugfs_init);

void wilc_debugfs_remove(void)
static void __exit wilc_debugfs_remove(void)
{
debugfs_remove_recursive(wilc_dir);
}
module_exit(wilc_debugfs_remove);

#endif
6 changes: 6 additions & 0 deletions drivers/staging/wilc1000/wilc_wlan.c
Original file line number Diff line number Diff line change
Expand Up @@ -417,6 +417,7 @@ void chip_allow_sleep(struct wilc *wilc)
wilc->hif_func->hif_write_reg(wilc, 0xf0, reg & ~BIT(0));
wilc->hif_func->hif_write_reg(wilc, 0xfa, 0);
}
EXPORT_SYMBOL_GPL(chip_allow_sleep);

void chip_wakeup(struct wilc *wilc)
{
Expand Down Expand Up @@ -471,6 +472,7 @@ void chip_wakeup(struct wilc *wilc)
}
chip_ps_state = CHIP_WAKEDUP;
}
EXPORT_SYMBOL_GPL(chip_wakeup);

void wilc_chip_sleep_manually(struct wilc *wilc)
{
Expand All @@ -484,20 +486,23 @@ void wilc_chip_sleep_manually(struct wilc *wilc)
chip_ps_state = CHIP_SLEEPING_MANUAL;
release_bus(wilc, RELEASE_ONLY);
}
EXPORT_SYMBOL_GPL(wilc_chip_sleep_manually);

void host_wakeup_notify(struct wilc *wilc)
{
acquire_bus(wilc, ACQUIRE_ONLY);
wilc->hif_func->hif_write_reg(wilc, 0x10b0, 1);
release_bus(wilc, RELEASE_ONLY);
}
EXPORT_SYMBOL_GPL(host_wakeup_notify);

void host_sleep_notify(struct wilc *wilc)
{
acquire_bus(wilc, ACQUIRE_ONLY);
wilc->hif_func->hif_write_reg(wilc, 0x10ac, 1);
release_bus(wilc, RELEASE_ONLY);
}
EXPORT_SYMBOL_GPL(host_sleep_notify);

int wilc_wlan_handle_txq(struct net_device *dev, u32 *txq_count)
{
Expand Down Expand Up @@ -871,6 +876,7 @@ void wilc_handle_isr(struct wilc *wilc)

release_bus(wilc, RELEASE_ALLOW_SLEEP);
}
EXPORT_SYMBOL_GPL(wilc_handle_isr);

int wilc_wlan_firmware_download(struct wilc *wilc, const u8 *buffer,
u32 buffer_size)
Expand Down
2 changes: 0 additions & 2 deletions drivers/staging/wilc1000/wilc_wlan_if.h
Original file line number Diff line number Diff line change
Expand Up @@ -831,6 +831,4 @@ struct wilc;
int wilc_wlan_init(struct net_device *dev);
u32 wilc_get_chipid(struct wilc *wilc, bool update);

int wilc_debugfs_init(void);
void wilc_debugfs_remove(void);
#endif

0 comments on commit 45d9ab8

Please sign in to comment.