> On Feb 2, 2015, at 1:18 PM, Nathan Whitehorn <nwhiteh...@freebsd.org> wrote: > > On 02/02/15 12:08, Ian Lepore wrote: >> On Mon, 2015-02-02 at 11:24 -0800, Nathan Whitehorn wrote: >>> Please don't condition things like this on FDT. They are useful on Open >>> Firmware systems too. >>> -Nathan >>> >> >> Is there something defined for OFW? The gpio code needs to work on >> hint-based (not-FDT and not-OFW) mips systems too. > > There isn't right now, so far as I'm aware, but there should be. > -Nathan
It’s a one-liner in sys/conf/options to have DEV_OFWBUS defined whenever ofwbus is in the kernel. Warner >> -- Ian >> >> >>> On 02/02/15 11:22, Luiz Otavio O Souza wrote: >>>> Author: loos >>>> Date: Mon Feb 2 19:22:34 2015 >>>> New Revision: 278108 >>>> URL: https://svnweb.freebsd.org/changeset/base/278108 >>>> >>>> Log: >>>> Register the GPIO controller device reference on xref table for FDT >>>> systems. >>>> >>>> Modified: >>>> head/sys/dev/gpio/gpiobus.c >>>> head/sys/dev/gpio/gpiobusvar.h >>>> head/sys/dev/gpio/ofw_gpiobus.c >>>> >>>> Modified: head/sys/dev/gpio/gpiobus.c >>>> ============================================================================== >>>> --- head/sys/dev/gpio/gpiobus.c Mon Feb 2 19:00:18 2015 >>>> (r278107) >>>> +++ head/sys/dev/gpio/gpiobus.c Mon Feb 2 19:22:34 2015 >>>> (r278108) >>>> @@ -143,6 +143,9 @@ gpiobus_attach_bus(device_t dev) >>>> device_delete_child(dev, busdev); >>>> return (NULL); >>>> } >>>> +#ifdef FDT >>>> + ofw_gpiobus_register_provider(dev); >>>> +#endif >>>> bus_generic_attach(dev); >>>> >>>> return (busdev); >>>> @@ -152,6 +155,10 @@ int >>>> gpiobus_detach_bus(device_t dev) >>>> { >>>> >>>> +#ifdef FDT >>>> + ofw_gpiobus_unregister_provider(dev); >>>> +#endif >>>> + >>>> return (bus_generic_detach(dev)); >>>> } >>>> >>>> >>>> Modified: head/sys/dev/gpio/gpiobusvar.h >>>> ============================================================================== >>>> --- head/sys/dev/gpio/gpiobusvar.h Mon Feb 2 19:00:18 2015 >>>> (r278107) >>>> +++ head/sys/dev/gpio/gpiobusvar.h Mon Feb 2 19:22:34 2015 >>>> (r278108) >>>> @@ -93,6 +93,8 @@ gpio_map_gpios(device_t bus, phandle_t d >>>> } >>>> >>>> device_t ofw_gpiobus_add_fdt_child(device_t, phandle_t); >>>> +void ofw_gpiobus_register_provider(device_t); >>>> +void ofw_gpiobus_unregister_provider(device_t); >>>> #endif >>>> int gpio_check_flags(uint32_t, uint32_t); >>>> device_t gpiobus_attach_bus(device_t); >>>> >>>> Modified: head/sys/dev/gpio/ofw_gpiobus.c >>>> ============================================================================== >>>> --- head/sys/dev/gpio/ofw_gpiobus.c Mon Feb 2 19:00:18 2015 >>>> (r278107) >>>> +++ head/sys/dev/gpio/ofw_gpiobus.c Mon Feb 2 19:22:34 2015 >>>> (r278108) >>>> @@ -217,6 +217,24 @@ ofw_gpiobus_parse_gpios(struct gpiobus_s >>>> return (0); >>>> } >>>> >>>> +void >>>> +ofw_gpiobus_register_provider(device_t provider) >>>> +{ >>>> + phandle_t node; >>>> + >>>> + node = ofw_bus_get_node(provider); >>>> + OF_device_register_xref(OF_xref_from_node(node), provider); >>>> +} >>>> + >>>> +void >>>> +ofw_gpiobus_unregister_provider(device_t provider) >>>> +{ >>>> + phandle_t node; >>>> + >>>> + node = ofw_bus_get_node(provider); >>>> + OF_device_register_xref(OF_xref_from_node(node), NULL); >>>> +} >>>> + >>>> static struct ofw_gpiobus_devinfo * >>>> ofw_gpiobus_setup_devinfo(device_t dev, phandle_t node) >>>> { >>>> >>> >>> >> >> > > _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"