diff for duplicates of <1460888820946@kroah.com> diff --git a/a/content_digest b/N1/content_digest index 45652b5..4178417 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -7,8 +7,8 @@ linus.walleij@linaro.org linux-mips@linux-mips.org " ralf@linux-mips.org\0" - "Cc\0<stable@vger.kernel.org>" - " <stable-commits@vger.kernel.org>\0" + "Cc\0stable@vger.kernel.org" + " stable-commits@vger.kernel.org\0" "\00:1\0" "b\0" "\n" @@ -26,4 +26,4 @@ "If you, or anyone else, feels it should not be added to the stable tree,\n" please let <stable@vger.kernel.org> know about it. -5dfe2ccefb37385f22af36c5aa6f3f5bf391f022cbaef558c0681c79bdb681a4 +bcad7ba0fe081f92c1369e01f0b40369c40918a3d3287e7c94255440c10e1659
diff --git a/a/1.txt b/N2/1.txt index 084c554..8c442e3 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -12,3 +12,165 @@ and it can be found in the queue-4.5 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@vger.kernel.org> know about it. + + +>From e34b6fcf9b09ec9d93503edd5f81489791ffd602 Mon Sep 17 00:00:00 2001 +From: Manuel Lauss <manuel.lauss@gmail.com> +Date: Wed, 2 Mar 2016 10:34:43 +0100 +Subject: pcmcia: db1xxx_ss: fix last irq_to_gpio user + +From: Manuel Lauss <manuel.lauss@gmail.com> + +commit e34b6fcf9b09ec9d93503edd5f81489791ffd602 upstream. + +remove the usage of removed irq_to_gpio() function. On pre-DB1200 +boards, pass the actual carddetect GPIO number instead of the IRQ, +because we need the gpio to actually test card status (inserted or +not) and can get the irq number with gpio_to_irq() instead. + +Tested on DB1300 and DB1500, this patch fixes PCMCIA on the DB1500, +which used irq_to_gpio(). + +Fixes: 832f5dacfa0b ("MIPS: Remove all the uses of custom gpio.h") +Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com> +Acked-by: Arnd Bergmann <arnd@arndb.de> +Reviewed-by: Linus Walleij <linus.walleij@linaro.org> +Cc: linux-pcmcia@lists.infradead.org +Cc: Linux-MIPS <linux-mips@linux-mips.org> +Patchwork: https://patchwork.linux-mips.org/patch/12747/ +Signed-off-by: Ralf Baechle <ralf@linux-mips.org> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> + +--- + arch/mips/alchemy/devboards/db1000.c | 18 ++++++++---------- + arch/mips/alchemy/devboards/db1550.c | 4 ++-- + drivers/pcmcia/db1xxx_ss.c | 11 +++++++++-- + 3 files changed, 19 insertions(+), 14 deletions(-) + +--- a/arch/mips/alchemy/devboards/db1000.c ++++ b/arch/mips/alchemy/devboards/db1000.c +@@ -503,15 +503,15 @@ int __init db1000_dev_setup(void) + if (board == BCSR_WHOAMI_DB1500) { + c0 = AU1500_GPIO2_INT; + c1 = AU1500_GPIO5_INT; +- d0 = AU1500_GPIO0_INT; +- d1 = AU1500_GPIO3_INT; ++ d0 = 0; /* GPIO number, NOT irq! */ ++ d1 = 3; /* GPIO number, NOT irq! */ + s0 = AU1500_GPIO1_INT; + s1 = AU1500_GPIO4_INT; + } else if (board == BCSR_WHOAMI_DB1100) { + c0 = AU1100_GPIO2_INT; + c1 = AU1100_GPIO5_INT; +- d0 = AU1100_GPIO0_INT; +- d1 = AU1100_GPIO3_INT; ++ d0 = 0; /* GPIO number, NOT irq! */ ++ d1 = 3; /* GPIO number, NOT irq! */ + s0 = AU1100_GPIO1_INT; + s1 = AU1100_GPIO4_INT; + +@@ -545,15 +545,15 @@ int __init db1000_dev_setup(void) + } else if (board == BCSR_WHOAMI_DB1000) { + c0 = AU1000_GPIO2_INT; + c1 = AU1000_GPIO5_INT; +- d0 = AU1000_GPIO0_INT; +- d1 = AU1000_GPIO3_INT; ++ d0 = 0; /* GPIO number, NOT irq! */ ++ d1 = 3; /* GPIO number, NOT irq! */ + s0 = AU1000_GPIO1_INT; + s1 = AU1000_GPIO4_INT; + platform_add_devices(db1000_devs, ARRAY_SIZE(db1000_devs)); + } else if ((board == BCSR_WHOAMI_PB1500) || + (board == BCSR_WHOAMI_PB1500R2)) { + c0 = AU1500_GPIO203_INT; +- d0 = AU1500_GPIO201_INT; ++ d0 = 1; /* GPIO number, NOT irq! */ + s0 = AU1500_GPIO202_INT; + twosocks = 0; + flashsize = 64; +@@ -566,7 +566,7 @@ int __init db1000_dev_setup(void) + */ + } else if (board == BCSR_WHOAMI_PB1100) { + c0 = AU1100_GPIO11_INT; +- d0 = AU1100_GPIO9_INT; ++ d0 = 9; /* GPIO number, NOT irq! */ + s0 = AU1100_GPIO10_INT; + twosocks = 0; + flashsize = 64; +@@ -583,7 +583,6 @@ int __init db1000_dev_setup(void) + } else + return 0; /* unknown board, no further dev setup to do */ + +- irq_set_irq_type(d0, IRQ_TYPE_EDGE_BOTH); + irq_set_irq_type(c0, IRQ_TYPE_LEVEL_LOW); + irq_set_irq_type(s0, IRQ_TYPE_LEVEL_LOW); + +@@ -597,7 +596,6 @@ int __init db1000_dev_setup(void) + c0, d0, /*s0*/0, 0, 0); + + if (twosocks) { +- irq_set_irq_type(d1, IRQ_TYPE_EDGE_BOTH); + irq_set_irq_type(c1, IRQ_TYPE_LEVEL_LOW); + irq_set_irq_type(s1, IRQ_TYPE_LEVEL_LOW); + +--- a/arch/mips/alchemy/devboards/db1550.c ++++ b/arch/mips/alchemy/devboards/db1550.c +@@ -514,7 +514,7 @@ static void __init db1550_devices(void) + AU1000_PCMCIA_MEM_PHYS_ADDR + 0x000400000 - 1, + AU1000_PCMCIA_IO_PHYS_ADDR, + AU1000_PCMCIA_IO_PHYS_ADDR + 0x000010000 - 1, +- AU1550_GPIO3_INT, AU1550_GPIO0_INT, ++ AU1550_GPIO3_INT, 0, + /*AU1550_GPIO21_INT*/0, 0, 0); + + db1x_register_pcmcia_socket( +@@ -524,7 +524,7 @@ static void __init db1550_devices(void) + AU1000_PCMCIA_MEM_PHYS_ADDR + 0x004400000 - 1, + AU1000_PCMCIA_IO_PHYS_ADDR + 0x004000000, + AU1000_PCMCIA_IO_PHYS_ADDR + 0x004010000 - 1, +- AU1550_GPIO5_INT, AU1550_GPIO1_INT, ++ AU1550_GPIO5_INT, 1, + /*AU1550_GPIO22_INT*/0, 0, 1); + + platform_device_register(&db1550_nand_dev); +--- a/drivers/pcmcia/db1xxx_ss.c ++++ b/drivers/pcmcia/db1xxx_ss.c +@@ -56,6 +56,7 @@ struct db1x_pcmcia_sock { + int stschg_irq; /* card-status-change irq */ + int card_irq; /* card irq */ + int eject_irq; /* db1200/pb1200 have these */ ++ int insert_gpio; /* db1000 carddetect gpio */ + + #define BOARD_TYPE_DEFAULT 0 /* most boards */ + #define BOARD_TYPE_DB1200 1 /* IRQs aren't gpios */ +@@ -83,7 +84,7 @@ static int db1200_card_inserted(struct d + /* carddetect gpio: low-active */ + static int db1000_card_inserted(struct db1x_pcmcia_sock *sock) + { +- return !gpio_get_value(irq_to_gpio(sock->insert_irq)); ++ return !gpio_get_value(sock->insert_gpio); + } + + static int db1x_card_inserted(struct db1x_pcmcia_sock *sock) +@@ -457,9 +458,15 @@ static int db1x_pcmcia_socket_probe(stru + r = platform_get_resource_byname(pdev, IORESOURCE_IRQ, "card"); + sock->card_irq = r ? r->start : 0; + +- /* insert: irq which triggers on card insertion/ejection */ ++ /* insert: irq which triggers on card insertion/ejection ++ * BIG FAT NOTE: on DB1000/1100/1500/1550 we pass a GPIO here! ++ */ + r = platform_get_resource_byname(pdev, IORESOURCE_IRQ, "insert"); + sock->insert_irq = r ? r->start : -1; ++ if (sock->board_type == BOARD_TYPE_DEFAULT) { ++ sock->insert_gpio = r ? r->start : -1; ++ sock->insert_irq = r ? gpio_to_irq(r->start) : -1; ++ } + + /* stschg: irq which trigger on card status change (optional) */ + r = platform_get_resource_byname(pdev, IORESOURCE_IRQ, "stschg"); + + +Patches currently in stable-queue which might be from manuel.lauss@gmail.com are + +queue-4.5/pcmcia-db1xxx_ss-fix-last-irq_to_gpio-user.patch diff --git a/a/content_digest b/N2/content_digest index 45652b5..76bd70a 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -24,6 +24,168 @@ "and it can be found in the queue-4.5 subdirectory.\n" "\n" "If you, or anyone else, feels it should not be added to the stable tree,\n" - please let <stable@vger.kernel.org> know about it. + "please let <stable@vger.kernel.org> know about it.\n" + "\n" + "\n" + ">From e34b6fcf9b09ec9d93503edd5f81489791ffd602 Mon Sep 17 00:00:00 2001\n" + "From: Manuel Lauss <manuel.lauss@gmail.com>\n" + "Date: Wed, 2 Mar 2016 10:34:43 +0100\n" + "Subject: pcmcia: db1xxx_ss: fix last irq_to_gpio user\n" + "\n" + "From: Manuel Lauss <manuel.lauss@gmail.com>\n" + "\n" + "commit e34b6fcf9b09ec9d93503edd5f81489791ffd602 upstream.\n" + "\n" + "remove the usage of removed irq_to_gpio() function. On pre-DB1200\n" + "boards, pass the actual carddetect GPIO number instead of the IRQ,\n" + "because we need the gpio to actually test card status (inserted or\n" + "not) and can get the irq number with gpio_to_irq() instead.\n" + "\n" + "Tested on DB1300 and DB1500, this patch fixes PCMCIA on the DB1500,\n" + "which used irq_to_gpio().\n" + "\n" + "Fixes: 832f5dacfa0b (\"MIPS: Remove all the uses of custom gpio.h\")\n" + "Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>\n" + "Acked-by: Arnd Bergmann <arnd@arndb.de>\n" + "Reviewed-by: Linus Walleij <linus.walleij@linaro.org>\n" + "Cc: linux-pcmcia@lists.infradead.org\n" + "Cc: Linux-MIPS <linux-mips@linux-mips.org>\n" + "Patchwork: https://patchwork.linux-mips.org/patch/12747/\n" + "Signed-off-by: Ralf Baechle <ralf@linux-mips.org>\n" + "Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\n" + "\n" + "---\n" + " arch/mips/alchemy/devboards/db1000.c | 18 ++++++++----------\n" + " arch/mips/alchemy/devboards/db1550.c | 4 ++--\n" + " drivers/pcmcia/db1xxx_ss.c | 11 +++++++++--\n" + " 3 files changed, 19 insertions(+), 14 deletions(-)\n" + "\n" + "--- a/arch/mips/alchemy/devboards/db1000.c\n" + "+++ b/arch/mips/alchemy/devboards/db1000.c\n" + "@@ -503,15 +503,15 @@ int __init db1000_dev_setup(void)\n" + " \tif (board == BCSR_WHOAMI_DB1500) {\n" + " \t\tc0 = AU1500_GPIO2_INT;\n" + " \t\tc1 = AU1500_GPIO5_INT;\n" + "-\t\td0 = AU1500_GPIO0_INT;\n" + "-\t\td1 = AU1500_GPIO3_INT;\n" + "+\t\td0 = 0;\t/* GPIO number, NOT irq! */\n" + "+\t\td1 = 3; /* GPIO number, NOT irq! */\n" + " \t\ts0 = AU1500_GPIO1_INT;\n" + " \t\ts1 = AU1500_GPIO4_INT;\n" + " \t} else if (board == BCSR_WHOAMI_DB1100) {\n" + " \t\tc0 = AU1100_GPIO2_INT;\n" + " \t\tc1 = AU1100_GPIO5_INT;\n" + "-\t\td0 = AU1100_GPIO0_INT;\n" + "-\t\td1 = AU1100_GPIO3_INT;\n" + "+\t\td0 = 0; /* GPIO number, NOT irq! */\n" + "+\t\td1 = 3; /* GPIO number, NOT irq! */\n" + " \t\ts0 = AU1100_GPIO1_INT;\n" + " \t\ts1 = AU1100_GPIO4_INT;\n" + " \n" + "@@ -545,15 +545,15 @@ int __init db1000_dev_setup(void)\n" + " \t} else if (board == BCSR_WHOAMI_DB1000) {\n" + " \t\tc0 = AU1000_GPIO2_INT;\n" + " \t\tc1 = AU1000_GPIO5_INT;\n" + "-\t\td0 = AU1000_GPIO0_INT;\n" + "-\t\td1 = AU1000_GPIO3_INT;\n" + "+\t\td0 = 0; /* GPIO number, NOT irq! */\n" + "+\t\td1 = 3; /* GPIO number, NOT irq! */\n" + " \t\ts0 = AU1000_GPIO1_INT;\n" + " \t\ts1 = AU1000_GPIO4_INT;\n" + " \t\tplatform_add_devices(db1000_devs, ARRAY_SIZE(db1000_devs));\n" + " \t} else if ((board == BCSR_WHOAMI_PB1500) ||\n" + " \t\t (board == BCSR_WHOAMI_PB1500R2)) {\n" + " \t\tc0 = AU1500_GPIO203_INT;\n" + "-\t\td0 = AU1500_GPIO201_INT;\n" + "+\t\td0 = 1; /* GPIO number, NOT irq! */\n" + " \t\ts0 = AU1500_GPIO202_INT;\n" + " \t\ttwosocks = 0;\n" + " \t\tflashsize = 64;\n" + "@@ -566,7 +566,7 @@ int __init db1000_dev_setup(void)\n" + " \t\t */\n" + " \t} else if (board == BCSR_WHOAMI_PB1100) {\n" + " \t\tc0 = AU1100_GPIO11_INT;\n" + "-\t\td0 = AU1100_GPIO9_INT;\n" + "+\t\td0 = 9; /* GPIO number, NOT irq! */\n" + " \t\ts0 = AU1100_GPIO10_INT;\n" + " \t\ttwosocks = 0;\n" + " \t\tflashsize = 64;\n" + "@@ -583,7 +583,6 @@ int __init db1000_dev_setup(void)\n" + " \t} else\n" + " \t\treturn 0; /* unknown board, no further dev setup to do */\n" + " \n" + "-\tirq_set_irq_type(d0, IRQ_TYPE_EDGE_BOTH);\n" + " \tirq_set_irq_type(c0, IRQ_TYPE_LEVEL_LOW);\n" + " \tirq_set_irq_type(s0, IRQ_TYPE_LEVEL_LOW);\n" + " \n" + "@@ -597,7 +596,6 @@ int __init db1000_dev_setup(void)\n" + " \t\tc0, d0, /*s0*/0, 0, 0);\n" + " \n" + " \tif (twosocks) {\n" + "-\t\tirq_set_irq_type(d1, IRQ_TYPE_EDGE_BOTH);\n" + " \t\tirq_set_irq_type(c1, IRQ_TYPE_LEVEL_LOW);\n" + " \t\tirq_set_irq_type(s1, IRQ_TYPE_LEVEL_LOW);\n" + " \n" + "--- a/arch/mips/alchemy/devboards/db1550.c\n" + "+++ b/arch/mips/alchemy/devboards/db1550.c\n" + "@@ -514,7 +514,7 @@ static void __init db1550_devices(void)\n" + " \t\tAU1000_PCMCIA_MEM_PHYS_ADDR + 0x000400000 - 1,\n" + " \t\tAU1000_PCMCIA_IO_PHYS_ADDR,\n" + " \t\tAU1000_PCMCIA_IO_PHYS_ADDR + 0x000010000 - 1,\n" + "-\t\tAU1550_GPIO3_INT, AU1550_GPIO0_INT,\n" + "+\t\tAU1550_GPIO3_INT, 0,\n" + " \t\t/*AU1550_GPIO21_INT*/0, 0, 0);\n" + " \n" + " \tdb1x_register_pcmcia_socket(\n" + "@@ -524,7 +524,7 @@ static void __init db1550_devices(void)\n" + " \t\tAU1000_PCMCIA_MEM_PHYS_ADDR + 0x004400000 - 1,\n" + " \t\tAU1000_PCMCIA_IO_PHYS_ADDR + 0x004000000,\n" + " \t\tAU1000_PCMCIA_IO_PHYS_ADDR + 0x004010000 - 1,\n" + "-\t\tAU1550_GPIO5_INT, AU1550_GPIO1_INT,\n" + "+\t\tAU1550_GPIO5_INT, 1,\n" + " \t\t/*AU1550_GPIO22_INT*/0, 0, 1);\n" + " \n" + " \tplatform_device_register(&db1550_nand_dev);\n" + "--- a/drivers/pcmcia/db1xxx_ss.c\n" + "+++ b/drivers/pcmcia/db1xxx_ss.c\n" + "@@ -56,6 +56,7 @@ struct db1x_pcmcia_sock {\n" + " \tint\tstschg_irq;\t/* card-status-change irq */\n" + " \tint\tcard_irq;\t/* card irq */\n" + " \tint\teject_irq;\t/* db1200/pb1200 have these */\n" + "+\tint\tinsert_gpio;\t/* db1000 carddetect gpio */\n" + " \n" + " #define BOARD_TYPE_DEFAULT\t0\t/* most boards */\n" + " #define BOARD_TYPE_DB1200\t1\t/* IRQs aren't gpios */\n" + "@@ -83,7 +84,7 @@ static int db1200_card_inserted(struct d\n" + " /* carddetect gpio: low-active */\n" + " static int db1000_card_inserted(struct db1x_pcmcia_sock *sock)\n" + " {\n" + "-\treturn !gpio_get_value(irq_to_gpio(sock->insert_irq));\n" + "+\treturn !gpio_get_value(sock->insert_gpio);\n" + " }\n" + " \n" + " static int db1x_card_inserted(struct db1x_pcmcia_sock *sock)\n" + "@@ -457,9 +458,15 @@ static int db1x_pcmcia_socket_probe(stru\n" + " \tr = platform_get_resource_byname(pdev, IORESOURCE_IRQ, \"card\");\n" + " \tsock->card_irq = r ? r->start : 0;\n" + " \n" + "-\t/* insert: irq which triggers on card insertion/ejection */\n" + "+\t/* insert: irq which triggers on card insertion/ejection\n" + "+\t * BIG FAT NOTE: on DB1000/1100/1500/1550 we pass a GPIO here!\n" + "+\t */\n" + " \tr = platform_get_resource_byname(pdev, IORESOURCE_IRQ, \"insert\");\n" + " \tsock->insert_irq = r ? r->start : -1;\n" + "+\tif (sock->board_type == BOARD_TYPE_DEFAULT) {\n" + "+\t\tsock->insert_gpio = r ? r->start : -1;\n" + "+\t\tsock->insert_irq = r ? gpio_to_irq(r->start) : -1;\n" + "+\t}\n" + " \n" + " \t/* stschg: irq which trigger on card status change (optional) */\n" + " \tr = platform_get_resource_byname(pdev, IORESOURCE_IRQ, \"stschg\");\n" + "\n" + "\n" + "Patches currently in stable-queue which might be from manuel.lauss@gmail.com are\n" + "\n" + queue-4.5/pcmcia-db1xxx_ss-fix-last-irq_to_gpio-user.patch -5dfe2ccefb37385f22af36c5aa6f3f5bf391f022cbaef558c0681c79bdb681a4 +b45a063dc5c66f9c0b3273bcc74368c6482ea74d6da0772aa11b9d14bc837806
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.