diff --git a/packages/base/any/kernels/3.16+deb8/patches/driver-i2c-bus-intel-ismt-enable-param.patch b/packages/base/any/kernels/3.16+deb8/patches/driver-i2c-bus-intel-ismt-enable-param.patch new file mode 100644 index 00000000..612b02db --- /dev/null +++ b/packages/base/any/kernels/3.16+deb8/patches/driver-i2c-bus-intel-ismt-enable-param.patch @@ -0,0 +1,27 @@ +diff -urpN a/drivers/i2c/busses/i2c-ismt.c b/drivers/i2c/busses/i2c-ismt.c +--- a/drivers/i2c/busses/i2c-ismt.c 2016-12-21 02:12:49.589201206 +0000 ++++ b/drivers/i2c/busses/i2c-ismt.c 2016-12-21 02:15:03.973204122 +0000 +@@ -200,6 +200,11 @@ MODULE_PARM_DESC(bus_speed, "Bus Speed i + module_param(delay, uint, S_IRUGO); + MODULE_PARM_DESC(delay, "Delay in microsecs before access (1000 by default)"); + ++/* Enable/Disable driver */ ++static unsigned int enable = 1; ++module_param(enable, uint, S_IRUGO); ++MODULE_PARM_DESC(enable, "Enable or disable the ISMT driver (enabled by default)"); ++ + /** + * __ismt_desc_dump() - dump the contents of a specific descriptor + */ +@@ -852,6 +857,11 @@ ismt_probe(struct pci_dev *pdev, const s + struct ismt_priv *priv; + unsigned long start, len; + ++ if(!enable) { ++ dev_warn(&pdev->dev, "module is disabled.\n"); ++ return -ENODEV; ++ } ++ + priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL); + if (!priv) + return -ENOMEM; diff --git a/packages/base/any/kernels/3.16+deb8/patches/series b/packages/base/any/kernels/3.16+deb8/patches/series index f1785767..24a54939 100644 --- a/packages/base/any/kernels/3.16+deb8/patches/series +++ b/packages/base/any/kernels/3.16+deb8/patches/series @@ -13,3 +13,4 @@ driver-arista-piix4-mux-patch.patch 3.16-fs-overlayfs.patch driver-igb-version-5.3.54.patch driver-support-intel-igb-bcm5461X-phy.patch +driver-i2c-bus-intel-ismt-enable-param.patch