Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/arm/sociox try to DRT about config messages



details:   https://anonhg.NetBSD.org/src/rev/eae46d6dba43
branches:  trunk
changeset: 1008538:eae46d6dba43
user:      nisimura <nisimura%NetBSD.org@localhost>
date:      Wed Mar 25 23:29:39 2020 +0000

description:
try to DRT about config messages

diffstat:

 sys/arch/arm/sociox/sni_exiu.c |  73 ++++++++++++++++++-----------------------
 sys/arch/arm/sociox/sni_gpio.c |  22 ++++++-----
 2 files changed, 45 insertions(+), 50 deletions(-)

diffs (226 lines):

diff -r 02549d68d978 -r eae46d6dba43 sys/arch/arm/sociox/sni_exiu.c
--- a/sys/arch/arm/sociox/sni_exiu.c    Wed Mar 25 23:20:38 2020 +0000
+++ b/sys/arch/arm/sociox/sni_exiu.c    Wed Mar 25 23:29:39 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: sni_exiu.c,v 1.2 2020/03/19 22:17:45 nisimura Exp $    */
+/*     $NetBSD: sni_exiu.c,v 1.3 2020/03/25 23:29:39 nisimura Exp $    */
 
 /*-
  * Copyright (c) 2020 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sni_exiu.c,v 1.2 2020/03/19 22:17:45 nisimura Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sni_exiu.c,v 1.3 2020/03/25 23:29:39 nisimura Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -60,8 +60,8 @@
        bus_space_handle_t      sc_ioh;
        bus_addr_t              sc_iob;
        bus_size_t              sc_ios;
+       void                    *sc_ih;
        kmutex_t                sc_lock;
-       void                    *sc_ih;
        int                     sc_phandle;
 };
 
@@ -98,7 +98,6 @@
        bus_size_t size;
        char intrstr[128];
        _Bool disable;
-       int error;
 
        prop_dictionary_get_bool(dict, "disable", &disable);
        if (disable) {
@@ -106,21 +105,24 @@
                aprint_normal(": disabled\n");
                return;
        }
-       error = fdtbus_get_reg(phandle, 0, &addr, &size);
-       if (error) {
-               aprint_error(": couldn't get registers\n");
-               return;
-       }
-       error = bus_space_map(faa->faa_bst, addr, size, 0, &ioh);
-       if (error) {
+       if (fdtbus_get_reg(phandle, 0, &addr, &size) != 0
+           || bus_space_map(faa->faa_bst, addr, size, 0, &ioh) != 0) {
                aprint_error(": unable to map device\n");
                return;
        }
-       error = fdtbus_intr_str(phandle, 0, intrstr, sizeof(intrstr));
-       if (error) {
+       if (!fdtbus_intr_str(phandle, 0, intrstr, sizeof(intrstr))) {
                aprint_error(": failed to decode interrupt\n");
-               return;
+               goto fail;
        }
+       sc->sc_ih = fdtbus_intr_establish(phandle,
+                       0, IPL_NET, 0, sniexiu_intr, sc);
+       if (sc->sc_ih == NULL) {
+               aprint_error_dev(self, "couldn't establish interrupt\n");
+               goto fail;
+       }
+
+       aprint_naive("\n");
+       aprint_normal_dev(self, "interrupting on %s\n", intrstr);
 
        sc->sc_dev = self;
        sc->sc_phandle = phandle;
@@ -130,13 +132,6 @@
        sc->sc_ios = size;
        mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_NONE);
 
-       sc->sc_ih = fdtbus_intr_establish(phandle,
-                       0, IPL_NET, 0, sniexiu_intr, sc);
-       if (sc->sc_ih == NULL) {
-               aprint_error_dev(self, "couldn't establish interrupt\n");
-               goto fail;
-       }
-
        sniexiu_attach_i(sc);
        return;
   fail:
@@ -173,22 +168,26 @@
            &res, &acpi_resource_parse_ops_default);
        if (ACPI_FAILURE(rv))
                return;
-
        mem = acpi_res_mem(&res, 0);
        irq = acpi_res_irq(&res, 0);
-       if (mem == NULL || irq == NULL) {
+       if (mem == NULL || irq == NULL || mem->ar_length) {
                aprint_error(": incomplete resources\n");
                return;
        }
-       if (mem->ar_length == 0) {
-               aprint_error(": zero length memory resource\n");
-               return;
-       }
        if (bus_space_map(aa->aa_memt, mem->ar_base, mem->ar_length, 0,
            &ioh)) {
                aprint_error(": couldn't map registers\n");
                return;
        }
+       sc->sc_ih = acpi_intr_establish(self,
+           (uint64_t)(uintptr_t)aa->aa_node->ad_handle,
+           IPL_BIO, false, sniexiu_intr, sc, device_xname(self));
+       if (sc->sc_ih == NULL) {
+               aprint_error_dev(self, "couldn't establish interrupt\n");
+               goto fail;
+       }
+
+       aprint_naive("\n");
 
        sc->sc_dev = self;
        sc->sc_iot = aa->aa_memt;
@@ -197,28 +196,22 @@
        sc->sc_ios = mem->ar_length;
        mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_NONE);
 
-       sc->sc_ih = acpi_intr_establish(self,
-           (uint64_t)(uintptr_t)aa->aa_node->ad_handle,
-           IPL_BIO, false, sniexiu_intr, sc, device_xname(self));
-       if (sc->sc_ih == NULL) {
-               aprint_error_dev(self, "couldn't establish interrupt\n");
-               goto fail;
-       }
+       sniexiu_attach_i(sc);
 
-       sniexiu_attach_i(sc);
+       acpi_resource_cleanup(&res);
+       return;
  fail:
+       bus_space_unmap(sc->sc_iot, sc->sc_ioh, sc->sc_ios);
        acpi_resource_cleanup(&res);
+       return;
 }
 
 static void
 sniexiu_attach_i(struct sniexiu_softc *sc)
 {
-
-       aprint_naive(": External IRQ controller\n");
-       aprint_normal(": External IRQ controller\n");
-
+       
+       aprint_normal_dev(sc->sc_dev, "Socionext External IRQ controller\n");
        /* AAA */
-
        return;
 }
 
diff -r 02549d68d978 -r eae46d6dba43 sys/arch/arm/sociox/sni_gpio.c
--- a/sys/arch/arm/sociox/sni_gpio.c    Wed Mar 25 23:20:38 2020 +0000
+++ b/sys/arch/arm/sociox/sni_gpio.c    Wed Mar 25 23:29:39 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: sni_gpio.c,v 1.5 2020/03/25 19:03:44 nisimura Exp $    */
+/*     $NetBSD: sni_gpio.c,v 1.6 2020/03/25 23:29:39 nisimura Exp $    */
 
 /*-
  * Copyright (c) 2020 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sni_gpio.c,v 1.5 2020/03/25 19:03:44 nisimura Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sni_gpio.c,v 1.6 2020/03/25 23:29:39 nisimura Exp $");
 
 #include <sys/param.h>
 #include <sys/device.h>
@@ -125,6 +125,7 @@
        bus_addr_t addr;
        bus_size_t size;
        char intrstr[128];
+       const char *list;
        _Bool disable;
 
        prop_dictionary_get_bool(dict, "disable", &disable);
@@ -150,8 +151,11 @@
        }
 
        aprint_naive("\n");
-       aprint_normal(": GPIO controller\n");
+       aprint_normal_dev("Socionext GPIO controller\n");
        aprint_normal_dev(self, "interrupting on %s\n", intrstr);
+       list = fdtbus_get_string(phandle, "gpio-line-names");
+       if (list)
+               aprint_normal_dev(self, "%s\n", list);
 
        sc->sc_dev = self;
        sc->sc_phandle = phandle;
@@ -162,8 +166,6 @@
 
        snigpio_attach_i(sc);
 
-/* dig FDT description to show 32 of GPIO line usage */
-
        return;
  fail:
        bus_space_unmap(sc->sc_iot, sc->sc_ioh, sc->sc_ios);
@@ -220,6 +222,11 @@
                goto fail;
        }
 
+       aprint_normal_dev(self, "Socionext GPIO controller\n");
+       rv = acpi_dsd_string(handle, "gpio-line-names", &list);
+       if (ACPI_SUCCESS(rv))
+               aprint_normal_dev(self, "%s\n", list);
+
        sc->sc_dev = self;
        sc->sc_iot = aa->aa_memt;
        sc->sc_ioh = ioh;
@@ -227,11 +234,6 @@
 
        snigpio_attach_i(sc);
 
-       /* dig _DSD property to show 32 of GPIO line usage */
-       rv = acpi_dsd_string(handle, "gpio-line-names", &list);
-       if (ACPI_SUCCESS(rv))
-               aprint_normal_dev(self, "%s\n", list);
-
        acpi_resource_cleanup(&res);
        return;
  fail:



Home | Main Index | Thread Index | Old Index