From: Greg Kroah-Hartman Date: Tue, 11 Nov 2014 23:36:48 +0000 (+0900) Subject: 3.17-stable patches X-Git-Tag: v3.10.60~18 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ee3123f49a2b667acc199fec102065d28711ee6f;p=thirdparty%2Fkernel%2Fstable-queue.git 3.17-stable patches added patches: mtd-m25p80-fix-module-aliases-for-m25p80.patch --- diff --git a/queue-3.17/mtd-m25p80-fix-module-aliases-for-m25p80.patch b/queue-3.17/mtd-m25p80-fix-module-aliases-for-m25p80.patch new file mode 100644 index 00000000000..9654cc8f8eb --- /dev/null +++ b/queue-3.17/mtd-m25p80-fix-module-aliases-for-m25p80.patch @@ -0,0 +1,97 @@ +From computersforpeace@gmail.com Wed Nov 12 08:34:31 2014 +From: Ben Hutchings +Date: Tue, 11 Nov 2014 14:11:52 -0800 +Subject: [PATCH] mtd: m25p80: Fix module aliases for m25p80 +To: Ben Hutchings +Cc: Greg KH , stable@vger.kernel.org, linux-mtd@lists.infradead.org, Rafał Miłecki +Message-ID: <20141111221152.GB24364@ld-irv-0074> +Content-Disposition: inline + + +From: Ben Hutchings + +Based on a5b7616c55e188fe3d6ef686bef402d4703ecb62, but backported so +that a bunch of dependencies are not needed. + +m25p80's device ID table is now spi_nor_ids, defined in spi-nor. The +MODULE_DEVICE_TABLE() macro doesn't work with extern definitions, but +its use was also removed at the same time. Now if m25p80 is built as +a module it doesn't get the necessary aliases to be loaded +automatically. + +A clean solution to this will involve defining the list of device +IDs in spi-nor.h and removing struct spi_device_id from the spi-nor +API, but this is quite a large change. + +As a quick fix suitable for stable, copy the device IDs back into +m25p80. + +Fixes: 03e296f613af ("mtd: m25p80: use the SPI nor framework") +Signed-off-by: Ben Hutchings +[Brian: backport without the dependencies] +Signed-off-by: Brian Norris +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/mtd/devices/m25p80.c | 50 +++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 50 insertions(+) + +--- a/drivers/mtd/devices/m25p80.c ++++ b/drivers/mtd/devices/m25p80.c +@@ -245,6 +245,56 @@ static int m25p_remove(struct spi_device + } + + ++/* ++ * XXX This needs to be kept in sync with spi_nor_ids. We can't share ++ * it with spi-nor, because if this is built as a module then modpost ++ * won't be able to read it and add appropriate aliases. ++ */ ++static const struct spi_device_id m25p_ids[] = { ++ {"at25fs010"}, {"at25fs040"}, {"at25df041a"}, {"at25df321a"}, ++ {"at25df641"}, {"at26f004"}, {"at26df081a"}, {"at26df161a"}, ++ {"at26df321"}, {"at45db081d"}, ++ {"en25f32"}, {"en25p32"}, {"en25q32b"}, {"en25p64"}, ++ {"en25q64"}, {"en25qh128"}, {"en25qh256"}, ++ {"f25l32pa"}, ++ {"mr25h256"}, {"mr25h10"}, ++ {"gd25q32"}, {"gd25q64"}, ++ {"160s33b"}, {"320s33b"}, {"640s33b"}, ++ {"mx25l2005a"}, {"mx25l4005a"}, {"mx25l8005"}, {"mx25l1606e"}, ++ {"mx25l3205d"}, {"mx25l3255e"}, {"mx25l6405d"}, {"mx25l12805d"}, ++ {"mx25l12855e"},{"mx25l25635e"},{"mx25l25655e"},{"mx66l51235l"}, ++ {"mx66l1g55g"}, ++ {"n25q064"}, {"n25q128a11"}, {"n25q128a13"}, {"n25q256a"}, ++ {"n25q512a"}, {"n25q512ax3"}, {"n25q00"}, ++ {"pm25lv512"}, {"pm25lv010"}, {"pm25lq032"}, ++ {"s25sl032p"}, {"s25sl064p"}, {"s25fl256s0"}, {"s25fl256s1"}, ++ {"s25fl512s"}, {"s70fl01gs"}, {"s25sl12800"}, {"s25sl12801"}, ++ {"s25fl129p0"}, {"s25fl129p1"}, {"s25sl004a"}, {"s25sl008a"}, ++ {"s25sl016a"}, {"s25sl032a"}, {"s25sl064a"}, {"s25fl008k"}, ++ {"s25fl016k"}, {"s25fl064k"}, ++ {"sst25vf040b"},{"sst25vf080b"},{"sst25vf016b"},{"sst25vf032b"}, ++ {"sst25vf064c"},{"sst25wf512"}, {"sst25wf010"}, {"sst25wf020"}, ++ {"sst25wf040"}, ++ {"m25p05"}, {"m25p10"}, {"m25p20"}, {"m25p40"}, ++ {"m25p80"}, {"m25p16"}, {"m25p32"}, {"m25p64"}, ++ {"m25p128"}, {"n25q032"}, ++ {"m25p05-nonjedec"}, {"m25p10-nonjedec"}, {"m25p20-nonjedec"}, ++ {"m25p40-nonjedec"}, {"m25p80-nonjedec"}, {"m25p16-nonjedec"}, ++ {"m25p32-nonjedec"}, {"m25p64-nonjedec"}, {"m25p128-nonjedec"}, ++ {"m45pe10"}, {"m45pe80"}, {"m45pe16"}, ++ {"m25pe20"}, {"m25pe80"}, {"m25pe16"}, ++ {"m25px16"}, {"m25px32"}, {"m25px32-s0"}, {"m25px32-s1"}, ++ {"m25px64"}, ++ {"w25x10"}, {"w25x20"}, {"w25x40"}, {"w25x80"}, ++ {"w25x16"}, {"w25x32"}, {"w25q32"}, {"w25q32dw"}, ++ {"w25x64"}, {"w25q64"}, {"w25q128"}, {"w25q80"}, ++ {"w25q80bl"}, {"w25q128"}, {"w25q256"}, {"cat25c11"}, ++ {"cat25c03"}, {"cat25c09"}, {"cat25c17"}, {"cat25128"}, ++ { }, ++}; ++MODULE_DEVICE_TABLE(spi, m25p_ids); ++ ++ + static struct spi_driver m25p80_driver = { + .driver = { + .name = "m25p80", diff --git a/queue-3.17/series b/queue-3.17/series index a9329345a6b..1996e98422e 100644 --- a/queue-3.17/series +++ b/queue-3.17/series @@ -276,3 +276,4 @@ x86-apic-handle-a-bad-tsc-more-gracefully.patch mm-remove-false-warn_on-from-pagecache_isize_extended.patch media-remove-references-to-non-existent-plat_s5p-symbol.patch crypto-algif-avoid-excessive-use-of-socket-buffer-in-skcipher.patch +mtd-m25p80-fix-module-aliases-for-m25p80.patch