These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / mfd / wm8994-irq.c
index a14407e..18710f3 100644 (file)
@@ -28,7 +28,7 @@
 
 #include <linux/delay.h>
 
-static struct regmap_irq wm8994_irqs[] = {
+static const struct regmap_irq wm8994_irqs[] = {
        [WM8994_IRQ_TEMP_SHUT] = {
                .reg_offset = 1,
                .mask = WM8994_TEMP_SHUT_EINT,
@@ -128,7 +128,7 @@ static struct regmap_irq wm8994_irqs[] = {
        },
 };
 
-static struct regmap_irq_chip wm8994_irq_chip = {
+static const struct regmap_irq_chip wm8994_irq_chip = {
        .name = "wm8994",
        .irqs = wm8994_irqs,
        .num_irqs = ARRAY_SIZE(wm8994_irqs),
@@ -172,19 +172,12 @@ static int wm8994_edge_irq_map(struct irq_domain *h, unsigned int virq,
        irq_set_chip_data(virq, wm8994);
        irq_set_chip_and_handler(virq, &wm8994_edge_irq_chip, handle_edge_irq);
        irq_set_nested_thread(virq, 1);
-
-       /* ARM needs us to explicitly flag the IRQ as valid
-        * and will set them noprobe when we do so. */
-#ifdef CONFIG_ARM
-       set_irq_flags(virq, IRQF_VALID);
-#else
        irq_set_noprobe(virq);
-#endif
 
        return 0;
 }
 
-static struct irq_domain_ops wm8994_edge_irq_ops = {
+static const struct irq_domain_ops wm8994_edge_irq_ops = {
        .map    = wm8994_edge_irq_map,
        .xlate  = irq_domain_xlate_twocell,
 };
@@ -193,7 +186,7 @@ int wm8994_irq_init(struct wm8994 *wm8994)
 {
        int ret;
        unsigned long irqflags;
-       struct wm8994_pdata *pdata = dev_get_platdata(wm8994->dev);
+       struct wm8994_pdata *pdata = &wm8994->pdata;
 
        if (!wm8994->irq) {
                dev_warn(wm8994->dev,