aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/patches-3.3/162-MIPS-ath79-add-clock-setup-for-the-QCA955X-SoCs.patch
diff options
context:
space:
mode:
authorSungbo Eo <mans0n@gorani.run>2020-03-05 22:57:29 +0900
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-03-11 19:40:03 +0100
commit228bb84744589efa38ebddd7a75bf97de6789aeb (patch)
tree0b9ed1ececdc0dda9b3c72885897b23cf6332b4f /target/linux/ar71xx/patches-3.3/162-MIPS-ath79-add-clock-setup-for-the-QCA955X-SoCs.patch
parent95c1fce821c37d5afcd84df92b58c5ae184f8bcd (diff)
downloadupstream.tar.gz
upstream.tar.bz2
upstream.zip
kernel: make kmod-ata-core selected by dependent modulesupstreamless-old-master
Currently kmod-ata-* will not get into images unless kmod-ata-core is added to DEVICE_PACKAGES as well. By changing the dependencies from "depends on" to "select", we do not have the issue anymore. Furthermore, we can remove most occurrences of the package from DEVICE_PACKAGES and similar variables, as it is now pulled by dependent modules such as: - kmod-ata-ahci - kmod-ata-ahci-mtk - kmod-ata-sunxi While at it, use AddDepends/ata for kmod-ata-pdc202xx-old. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
Diffstat (limited to 'target/linux/ar71xx/patches-3.3/162-MIPS-ath79-add-clock-setup-for-the-QCA955X-SoCs.patch')
0 files changed, 0 insertions, 0 deletions
66; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
--- a/arch/cris/arch-v10/drivers/gpio.c
+++ b/arch/cris/arch-v10/drivers/gpio.c
@@ -21,6 +21,7 @@
 #include <linux/poll.h>
 #include <linux/init.h>
 #include <linux/interrupt.h>
+#include <linux/device.h>
 
 #include <asm/etraxgpio.h>
 #include <arch/svinto.h>
@@ -771,6 +772,8 @@ static void ioif_watcher(const unsigned 
 
 /* main driver initialization routine, called from mem.c */
 
+static struct class *gp_class;
+
 static int __init gpio_init(void)
 {
 	int res;
@@ -784,6 +787,8 @@ static int __init gpio_init(void)
 		return res;
 	}
 
+	gp_class = class_create(THIS_MODULE, "gpio_etrax");
+
 	/* Clear all leds */
 #if defined (CONFIG_ETRAX_CSP0_LEDS) ||  defined (CONFIG_ETRAX_PA_LEDS) || defined (CONFIG_ETRAX_PB_LEDS)
 	CRIS_LED_NETWORK_SET(0);
@@ -796,6 +801,8 @@ static int __init gpio_init(void)
 		CRIS_LED_BIT_SET(i);
 #endif
 
+	device_create(gp_class, NULL,
+		MKDEV(GPIO_MAJOR, 2), NULL, "leds");
 #endif
 	/* The I/O interface allocation watcher will be called when
 	 * registering it. */
@@ -822,6 +829,12 @@ static int __init gpio_init(void)
 	if (res)
 		printk(KERN_CRIT "err: PA irq for gpio\n");
 
+	device_create(gp_class, NULL,
+		MKDEV(GPIO_MAJOR, 0), NULL, "gpioa");
+	device_create(gp_class, NULL,
+		MKDEV(GPIO_MAJOR, 1), NULL, "gpiob");
+	device_create(gp_class, NULL,
+		MKDEV(GPIO_MAJOR, 3), NULL, "gpiog");
 	return res;
 }