aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2018-09-14 11:43:43 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2018-09-14 11:43:43 -0400
commit45d9ab8a306bd096faad32cd43a814b40e91870a (patch)
tree38bbe7c40548130a61e04623439835a2ffe6cb2e
parent319cbacfc0f272297849ce61d36557a408bb3771 (diff)
parent65aac17423284634169489f298169c3e3f099cc7 (diff)
Merge tag 'staging-4.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/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"
-rw-r--r--MAINTAINERS4
-rw-r--r--drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c13
-rw-r--r--drivers/iio/temperature/maxim_thermocouple.c1
-rw-r--r--drivers/staging/erofs/Kconfig2
-rw-r--r--drivers/staging/erofs/super.c4
-rw-r--r--drivers/staging/fbtft/TODO4
-rw-r--r--drivers/staging/gasket/TODO13
-rw-r--r--drivers/staging/vboxvideo/vbox_drv.c7
-rw-r--r--drivers/staging/vboxvideo/vbox_mode.c5
-rw-r--r--drivers/staging/wilc1000/Makefile3
-rw-r--r--drivers/staging/wilc1000/linux_wlan.c6
-rw-r--r--drivers/staging/wilc1000/wilc_debugfs.c7
-rw-r--r--drivers/staging/wilc1000/wilc_wlan.c6
-rw-r--r--drivers/staging/wilc1000/wilc_wlan_if.h2
14 files changed, 57 insertions, 20 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index bb65f0c1861c..3d92ea976f5e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -5625,6 +5625,8 @@ F: lib/fault-inject.c
5625 5625
5626FBTFT Framebuffer drivers 5626FBTFT Framebuffer drivers
5627M: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 5627M: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
5628L: dri-devel@lists.freedesktop.org
5629L: linux-fbdev@vger.kernel.org
5628S: Maintained 5630S: Maintained
5629F: drivers/staging/fbtft/ 5631F: drivers/staging/fbtft/
5630 5632
@@ -6060,7 +6062,7 @@ F: Documentation/gcc-plugins.txt
6060 6062
6061GASKET DRIVER FRAMEWORK 6063GASKET DRIVER FRAMEWORK
6062M: Rob Springer <rspringer@google.com> 6064M: Rob Springer <rspringer@google.com>
6063M: John Joseph <jnjoseph@google.com> 6065M: Todd Poynor <toddpoynor@google.com>
6064M: Ben Chan <benchan@chromium.org> 6066M: Ben Chan <benchan@chromium.org>
6065S: Maintained 6067S: Maintained
6066F: drivers/staging/gasket/ 6068F: drivers/staging/gasket/
diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c
index 7589f2ad1dae..631360b14ca7 100644
--- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c
+++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c
@@ -187,12 +187,15 @@ static int st_lsm6dsx_set_fifo_odr(struct st_lsm6dsx_sensor *sensor,
187 187
188int st_lsm6dsx_update_watermark(struct st_lsm6dsx_sensor *sensor, u16 watermark) 188int st_lsm6dsx_update_watermark(struct st_lsm6dsx_sensor *sensor, u16 watermark)
189{ 189{
190 u16 fifo_watermark = ~0, cur_watermark, sip = 0, fifo_th_mask; 190 u16 fifo_watermark = ~0, cur_watermark, fifo_th_mask;
191 struct st_lsm6dsx_hw *hw = sensor->hw; 191 struct st_lsm6dsx_hw *hw = sensor->hw;
192 struct st_lsm6dsx_sensor *cur_sensor; 192 struct st_lsm6dsx_sensor *cur_sensor;
193 int i, err, data; 193 int i, err, data;
194 __le16 wdata; 194 __le16 wdata;
195 195
196 if (!hw->sip)
197 return 0;
198
196 for (i = 0; i < ST_LSM6DSX_ID_MAX; i++) { 199 for (i = 0; i < ST_LSM6DSX_ID_MAX; i++) {
197 cur_sensor = iio_priv(hw->iio_devs[i]); 200 cur_sensor = iio_priv(hw->iio_devs[i]);
198 201
@@ -203,14 +206,10 @@ int st_lsm6dsx_update_watermark(struct st_lsm6dsx_sensor *sensor, u16 watermark)
203 : cur_sensor->watermark; 206 : cur_sensor->watermark;
204 207
205 fifo_watermark = min_t(u16, fifo_watermark, cur_watermark); 208 fifo_watermark = min_t(u16, fifo_watermark, cur_watermark);
206 sip += cur_sensor->sip;
207 } 209 }
208 210
209 if (!sip) 211 fifo_watermark = max_t(u16, fifo_watermark, hw->sip);
210 return 0; 212 fifo_watermark = (fifo_watermark / hw->sip) * hw->sip;
211
212 fifo_watermark = max_t(u16, fifo_watermark, sip);
213 fifo_watermark = (fifo_watermark / sip) * sip;
214 fifo_watermark = fifo_watermark * hw->settings->fifo_ops.th_wl; 213 fifo_watermark = fifo_watermark * hw->settings->fifo_ops.th_wl;
215 214
216 err = regmap_read(hw->regmap, hw->settings->fifo_ops.fifo_th.addr + 1, 215 err = regmap_read(hw->regmap, hw->settings->fifo_ops.fifo_th.addr + 1,
diff --git a/drivers/iio/temperature/maxim_thermocouple.c b/drivers/iio/temperature/maxim_thermocouple.c
index 54e383231d1e..c31b9633f32d 100644
--- a/drivers/iio/temperature/maxim_thermocouple.c
+++ b/drivers/iio/temperature/maxim_thermocouple.c
@@ -258,7 +258,6 @@ static int maxim_thermocouple_remove(struct spi_device *spi)
258static const struct spi_device_id maxim_thermocouple_id[] = { 258static const struct spi_device_id maxim_thermocouple_id[] = {
259 {"max6675", MAX6675}, 259 {"max6675", MAX6675},
260 {"max31855", MAX31855}, 260 {"max31855", MAX31855},
261 {"max31856", MAX31855},
262 {}, 261 {},
263}; 262};
264MODULE_DEVICE_TABLE(spi, maxim_thermocouple_id); 263MODULE_DEVICE_TABLE(spi, maxim_thermocouple_id);
diff --git a/drivers/staging/erofs/Kconfig b/drivers/staging/erofs/Kconfig
index 96f614934df1..663b755bf2fb 100644
--- a/drivers/staging/erofs/Kconfig
+++ b/drivers/staging/erofs/Kconfig
@@ -2,7 +2,7 @@
2 2
3config EROFS_FS 3config EROFS_FS
4 tristate "EROFS filesystem support" 4 tristate "EROFS filesystem support"
5 depends on BROKEN 5 depends on BLOCK
6 help 6 help
7 EROFS(Enhanced Read-Only File System) is a lightweight 7 EROFS(Enhanced Read-Only File System) is a lightweight
8 read-only file system with modern designs (eg. page-sized 8 read-only file system with modern designs (eg. page-sized
diff --git a/drivers/staging/erofs/super.c b/drivers/staging/erofs/super.c
index 1aec509c805f..2df9768edac9 100644
--- a/drivers/staging/erofs/super.c
+++ b/drivers/staging/erofs/super.c
@@ -340,7 +340,7 @@ static int erofs_read_super(struct super_block *sb,
340 goto err_sbread; 340 goto err_sbread;
341 341
342 sb->s_magic = EROFS_SUPER_MAGIC; 342 sb->s_magic = EROFS_SUPER_MAGIC;
343 sb->s_flags |= MS_RDONLY | MS_NOATIME; 343 sb->s_flags |= SB_RDONLY | SB_NOATIME;
344 sb->s_maxbytes = MAX_LFS_FILESIZE; 344 sb->s_maxbytes = MAX_LFS_FILESIZE;
345 sb->s_time_gran = 1; 345 sb->s_time_gran = 1;
346 346
@@ -627,7 +627,7 @@ static int erofs_remount(struct super_block *sb, int *flags, char *data)
627{ 627{
628 BUG_ON(!sb_rdonly(sb)); 628 BUG_ON(!sb_rdonly(sb));
629 629
630 *flags |= MS_RDONLY; 630 *flags |= SB_RDONLY;
631 return 0; 631 return 0;
632} 632}
633 633
diff --git a/drivers/staging/fbtft/TODO b/drivers/staging/fbtft/TODO
index 7e64c7e438f0..a9f4802bb6be 100644
--- a/drivers/staging/fbtft/TODO
+++ b/drivers/staging/fbtft/TODO
@@ -2,3 +2,7 @@
2 GPIO descriptor API in <linux/gpio/consumer.h> and look up GPIO 2 GPIO descriptor API in <linux/gpio/consumer.h> and look up GPIO
3 lines from device tree, ACPI or board files, board files should 3 lines from device tree, ACPI or board files, board files should
4 use <linux/gpio/machine.h> 4 use <linux/gpio/machine.h>
5
6* convert all these over to drm_simple_display_pipe and submit for inclusion
7 into the DRM subsystem under drivers/gpu/drm - fbdev doesn't take any new
8 drivers anymore.
diff --git a/drivers/staging/gasket/TODO b/drivers/staging/gasket/TODO
index 6ff8e01b04cc..5b1865f8af2d 100644
--- a/drivers/staging/gasket/TODO
+++ b/drivers/staging/gasket/TODO
@@ -1,9 +1,22 @@
1This is a list of things that need to be done to get this driver out of the 1This is a list of things that need to be done to get this driver out of the
2staging directory. 2staging directory.
3
4- Implement the gasket framework's functionality through UIO instead of
5 introducing a new user-space drivers framework that is quite similar.
6
7 UIO provides the necessary bits to implement user-space drivers. Meanwhile
8 the gasket APIs adds some extra conveniences like PCI BAR mapping, and
9 MSI interrupts. Add these features to the UIO subsystem, then re-implement
10 the Apex driver as a basic UIO driver instead (include/linux/uio_driver.h)
11
3- Document sysfs files with Documentation/ABI/ entries. 12- Document sysfs files with Documentation/ABI/ entries.
13
4- Use misc interface instead of major number for driver version description. 14- Use misc interface instead of major number for driver version description.
15
5- Add descriptions of module_param's 16- Add descriptions of module_param's
17
6- apex_get_status() should actually check status. 18- apex_get_status() should actually check status.
19
7- "drivers" should never be dealing with "raw" sysfs calls or mess around with 20- "drivers" should never be dealing with "raw" sysfs calls or mess around with
8 kobjects at all. The driver core should handle all of this for you 21 kobjects at all. The driver core should handle all of this for you
9 automaically. There should not be a need for raw attribute macros. 22 automaically. There should not be a need for raw attribute macros.
diff --git a/drivers/staging/vboxvideo/vbox_drv.c b/drivers/staging/vboxvideo/vbox_drv.c
index da92c493f157..69cc508af1bc 100644
--- a/drivers/staging/vboxvideo/vbox_drv.c
+++ b/drivers/staging/vboxvideo/vbox_drv.c
@@ -59,6 +59,11 @@ static int vbox_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
59 ret = PTR_ERR(dev); 59 ret = PTR_ERR(dev);
60 goto err_drv_alloc; 60 goto err_drv_alloc;
61 } 61 }
62
63 ret = pci_enable_device(pdev);
64 if (ret)
65 goto err_pci_enable;
66
62 dev->pdev = pdev; 67 dev->pdev = pdev;
63 pci_set_drvdata(pdev, dev); 68 pci_set_drvdata(pdev, dev);
64 69
@@ -75,6 +80,8 @@ static int vbox_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
75 err_drv_dev_register: 80 err_drv_dev_register:
76 vbox_driver_unload(dev); 81 vbox_driver_unload(dev);
77 err_vbox_driver_load: 82 err_vbox_driver_load:
83 pci_disable_device(pdev);
84 err_pci_enable:
78 drm_dev_put(dev); 85 drm_dev_put(dev);
79 err_drv_alloc: 86 err_drv_alloc:
80 return ret; 87 return ret;
diff --git a/drivers/staging/vboxvideo/vbox_mode.c b/drivers/staging/vboxvideo/vbox_mode.c
index a83eac8668d0..79836c8fb909 100644
--- a/drivers/staging/vboxvideo/vbox_mode.c
+++ b/drivers/staging/vboxvideo/vbox_mode.c
@@ -323,6 +323,11 @@ static int vbox_crtc_page_flip(struct drm_crtc *crtc,
323 if (rc) 323 if (rc)
324 return rc; 324 return rc;
325 325
326 mutex_lock(&vbox->hw_mutex);
327 vbox_set_view(crtc);
328 vbox_do_modeset(crtc, &crtc->mode);
329 mutex_unlock(&vbox->hw_mutex);
330
326 spin_lock_irqsave(&drm->event_lock, flags); 331 spin_lock_irqsave(&drm->event_lock, flags);
327 332
328 if (event) 333 if (event)
diff --git a/drivers/staging/wilc1000/Makefile b/drivers/staging/wilc1000/Makefile
index f7b07c0b5ce2..ee7e26b886a5 100644
--- a/drivers/staging/wilc1000/Makefile
+++ b/drivers/staging/wilc1000/Makefile
@@ -1,4 +1,5 @@
1# SPDX-License-Identifier: GPL-2.0 1# SPDX-License-Identifier: GPL-2.0
2obj-$(CONFIG_WILC1000) += wilc1000.o
2 3
3ccflags-y += -DFIRMWARE_1002=\"atmel/wilc1002_firmware.bin\" \ 4ccflags-y += -DFIRMWARE_1002=\"atmel/wilc1002_firmware.bin\" \
4 -DFIRMWARE_1003=\"atmel/wilc1003_firmware.bin\" 5 -DFIRMWARE_1003=\"atmel/wilc1003_firmware.bin\"
@@ -11,9 +12,7 @@ wilc1000-objs := wilc_wfi_cfgoperations.o linux_wlan.o linux_mon.o \
11 wilc_wlan.o 12 wilc_wlan.o
12 13
13obj-$(CONFIG_WILC1000_SDIO) += wilc1000-sdio.o 14obj-$(CONFIG_WILC1000_SDIO) += wilc1000-sdio.o
14wilc1000-sdio-objs += $(wilc1000-objs)
15wilc1000-sdio-objs += wilc_sdio.o 15wilc1000-sdio-objs += wilc_sdio.o
16 16
17obj-$(CONFIG_WILC1000_SPI) += wilc1000-spi.o 17obj-$(CONFIG_WILC1000_SPI) += wilc1000-spi.o
18wilc1000-spi-objs += $(wilc1000-objs)
19wilc1000-spi-objs += wilc_spi.o 18wilc1000-spi-objs += wilc_spi.o
diff --git a/drivers/staging/wilc1000/linux_wlan.c b/drivers/staging/wilc1000/linux_wlan.c
index 01cf4bd2e192..3b8d237decbf 100644
--- a/drivers/staging/wilc1000/linux_wlan.c
+++ b/drivers/staging/wilc1000/linux_wlan.c
@@ -1038,8 +1038,8 @@ void wilc_netdev_cleanup(struct wilc *wilc)
1038 } 1038 }
1039 1039
1040 kfree(wilc); 1040 kfree(wilc);
1041 wilc_debugfs_remove();
1042} 1041}
1042EXPORT_SYMBOL_GPL(wilc_netdev_cleanup);
1043 1043
1044static const struct net_device_ops wilc_netdev_ops = { 1044static const struct net_device_ops wilc_netdev_ops = {
1045 .ndo_init = mac_init_fn, 1045 .ndo_init = mac_init_fn,
@@ -1062,7 +1062,6 @@ int wilc_netdev_init(struct wilc **wilc, struct device *dev, int io_type,
1062 if (!wl) 1062 if (!wl)
1063 return -ENOMEM; 1063 return -ENOMEM;
1064 1064
1065 wilc_debugfs_init();
1066 *wilc = wl; 1065 *wilc = wl;
1067 wl->io_type = io_type; 1066 wl->io_type = io_type;
1068 wl->hif_func = ops; 1067 wl->hif_func = ops;
@@ -1124,3 +1123,6 @@ int wilc_netdev_init(struct wilc **wilc, struct device *dev, int io_type,
1124 1123
1125 return 0; 1124 return 0;
1126} 1125}
1126EXPORT_SYMBOL_GPL(wilc_netdev_init);
1127
1128MODULE_LICENSE("GPL");
diff --git a/drivers/staging/wilc1000/wilc_debugfs.c b/drivers/staging/wilc1000/wilc_debugfs.c
index edc72876458d..8001df66b8c2 100644
--- a/drivers/staging/wilc1000/wilc_debugfs.c
+++ b/drivers/staging/wilc1000/wilc_debugfs.c
@@ -19,6 +19,7 @@ static struct dentry *wilc_dir;
19 19
20#define DBG_LEVEL_ALL (DEBUG | INFO | WRN | ERR) 20#define DBG_LEVEL_ALL (DEBUG | INFO | WRN | ERR)
21static atomic_t WILC_DEBUG_LEVEL = ATOMIC_INIT(ERR); 21static atomic_t WILC_DEBUG_LEVEL = ATOMIC_INIT(ERR);
22EXPORT_SYMBOL_GPL(WILC_DEBUG_LEVEL);
22 23
23static ssize_t wilc_debug_level_read(struct file *file, char __user *userbuf, 24static ssize_t wilc_debug_level_read(struct file *file, char __user *userbuf,
24 size_t count, loff_t *ppos) 25 size_t count, loff_t *ppos)
@@ -87,7 +88,7 @@ static struct wilc_debugfs_info_t debugfs_info[] = {
87 }, 88 },
88}; 89};
89 90
90int wilc_debugfs_init(void) 91static int __init wilc_debugfs_init(void)
91{ 92{
92 int i; 93 int i;
93 struct wilc_debugfs_info_t *info; 94 struct wilc_debugfs_info_t *info;
@@ -103,10 +104,12 @@ int wilc_debugfs_init(void)
103 } 104 }
104 return 0; 105 return 0;
105} 106}
107module_init(wilc_debugfs_init);
106 108
107void wilc_debugfs_remove(void) 109static void __exit wilc_debugfs_remove(void)
108{ 110{
109 debugfs_remove_recursive(wilc_dir); 111 debugfs_remove_recursive(wilc_dir);
110} 112}
113module_exit(wilc_debugfs_remove);
111 114
112#endif 115#endif
diff --git a/drivers/staging/wilc1000/wilc_wlan.c b/drivers/staging/wilc1000/wilc_wlan.c
index 6787b6e9f124..8b184aa30d25 100644
--- a/drivers/staging/wilc1000/wilc_wlan.c
+++ b/drivers/staging/wilc1000/wilc_wlan.c
@@ -417,6 +417,7 @@ void chip_allow_sleep(struct wilc *wilc)
417 wilc->hif_func->hif_write_reg(wilc, 0xf0, reg & ~BIT(0)); 417 wilc->hif_func->hif_write_reg(wilc, 0xf0, reg & ~BIT(0));
418 wilc->hif_func->hif_write_reg(wilc, 0xfa, 0); 418 wilc->hif_func->hif_write_reg(wilc, 0xfa, 0);
419} 419}
420EXPORT_SYMBOL_GPL(chip_allow_sleep);
420 421
421void chip_wakeup(struct wilc *wilc) 422void chip_wakeup(struct wilc *wilc)
422{ 423{
@@ -471,6 +472,7 @@ void chip_wakeup(struct wilc *wilc)
471 } 472 }
472 chip_ps_state = CHIP_WAKEDUP; 473 chip_ps_state = CHIP_WAKEDUP;
473} 474}
475EXPORT_SYMBOL_GPL(chip_wakeup);
474 476
475void wilc_chip_sleep_manually(struct wilc *wilc) 477void wilc_chip_sleep_manually(struct wilc *wilc)
476{ 478{
@@ -484,6 +486,7 @@ void wilc_chip_sleep_manually(struct wilc *wilc)
484 chip_ps_state = CHIP_SLEEPING_MANUAL; 486 chip_ps_state = CHIP_SLEEPING_MANUAL;
485 release_bus(wilc, RELEASE_ONLY); 487 release_bus(wilc, RELEASE_ONLY);
486} 488}
489EXPORT_SYMBOL_GPL(wilc_chip_sleep_manually);
487 490
488void host_wakeup_notify(struct wilc *wilc) 491void host_wakeup_notify(struct wilc *wilc)
489{ 492{
@@ -491,6 +494,7 @@ void host_wakeup_notify(struct wilc *wilc)
491 wilc->hif_func->hif_write_reg(wilc, 0x10b0, 1); 494 wilc->hif_func->hif_write_reg(wilc, 0x10b0, 1);
492 release_bus(wilc, RELEASE_ONLY); 495 release_bus(wilc, RELEASE_ONLY);
493} 496}
497EXPORT_SYMBOL_GPL(host_wakeup_notify);
494 498
495void host_sleep_notify(struct wilc *wilc) 499void host_sleep_notify(struct wilc *wilc)
496{ 500{
@@ -498,6 +502,7 @@ void host_sleep_notify(struct wilc *wilc)
498 wilc->hif_func->hif_write_reg(wilc, 0x10ac, 1); 502 wilc->hif_func->hif_write_reg(wilc, 0x10ac, 1);
499 release_bus(wilc, RELEASE_ONLY); 503 release_bus(wilc, RELEASE_ONLY);
500} 504}
505EXPORT_SYMBOL_GPL(host_sleep_notify);
501 506
502int wilc_wlan_handle_txq(struct net_device *dev, u32 *txq_count) 507int wilc_wlan_handle_txq(struct net_device *dev, u32 *txq_count)
503{ 508{
@@ -871,6 +876,7 @@ void wilc_handle_isr(struct wilc *wilc)
871 876
872 release_bus(wilc, RELEASE_ALLOW_SLEEP); 877 release_bus(wilc, RELEASE_ALLOW_SLEEP);
873} 878}
879EXPORT_SYMBOL_GPL(wilc_handle_isr);
874 880
875int wilc_wlan_firmware_download(struct wilc *wilc, const u8 *buffer, 881int wilc_wlan_firmware_download(struct wilc *wilc, const u8 *buffer,
876 u32 buffer_size) 882 u32 buffer_size)
diff --git a/drivers/staging/wilc1000/wilc_wlan_if.h b/drivers/staging/wilc1000/wilc_wlan_if.h
index 00d13b153f80..b81a73b9bd67 100644
--- a/drivers/staging/wilc1000/wilc_wlan_if.h
+++ b/drivers/staging/wilc1000/wilc_wlan_if.h
@@ -831,6 +831,4 @@ struct wilc;
831int wilc_wlan_init(struct net_device *dev); 831int wilc_wlan_init(struct net_device *dev);
832u32 wilc_get_chipid(struct wilc *wilc, bool update); 832u32 wilc_get_chipid(struct wilc *wilc, bool update);
833 833
834int wilc_debugfs_init(void);
835void wilc_debugfs_remove(void);
836#endif 834#endif