On Tue, Feb 04, 2014 at 12:49:11PM +0100, Hans de Goede wrote: > Add a config_odev_get_attribute helper, and replace the diy looing over all
hehe. another typo: looping. > the attributes done in various places with calls to this helper. > > Signed-off-by: Hans de Goede <[email protected]> > --- > config/config.c | 23 +++++++++++++++++++++++ > hw/xfree86/common/xf86platformBus.c | 17 ++--------------- > hw/xfree86/os-support/linux/lnx_platform.c | 8 +------- > include/hotplug.h | 3 +++ > 4 files changed, 29 insertions(+), 22 deletions(-) > > diff --git a/config/config.c b/config/config.c > index 760cf19..64dfb88 100644 > --- a/config/config.c > +++ b/config/config.c > @@ -145,6 +145,18 @@ config_odev_free_attribute_list(struct OdevAttributes > *attribs) > free(attribs); > } > > +static struct OdevAttribute *config_odev_find_attribute( > + struct OdevAttributes *attribs, int attrib_id) this is form-style nitpicking but I'd break this up as: static struct OdevAttribute * config_odev_find_attribute(struct OdevAttributes *attribs, int attrib_id) Reviewed-by: Peter Hutterer <[email protected]> Cheers, Peter > +{ > + struct OdevAttribute *oa; > + > + xorg_list_for_each_entry(oa, &attribs->list, member) { > + if (oa->attrib_id == attrib_id) > + return oa; > + } > + return NULL; > +} > + > Bool > config_odev_add_attribute(struct OdevAttributes *attribs, int attrib, > const char *attrib_name) > @@ -161,6 +173,17 @@ config_odev_add_attribute(struct OdevAttributes > *attribs, int attrib, > return TRUE; > } > > +char *config_odev_get_attribute(struct OdevAttributes *attribs, int > attrib_id) > +{ > + struct OdevAttribute *oa; > + > + oa = config_odev_find_attribute(attribs, attrib_id); > + if (!oa) > + return NULL; > + > + return oa->attrib_name; > +} > + > void > config_odev_free_attributes(struct OdevAttributes *attribs) > { > diff --git a/hw/xfree86/common/xf86platformBus.c > b/hw/xfree86/common/xf86platformBus.c > index 5875a91..6d3816d 100644 > --- a/hw/xfree86/common/xf86platformBus.c > +++ b/hw/xfree86/common/xf86platformBus.c > @@ -92,26 +92,13 @@ xf86_add_platform_device_attrib(int index, int attrib_id, > char *attrib_name) > char * > xf86_get_platform_attrib(int index, int attrib_id) > { > - struct xf86_platform_device *device = &xf86_platform_devices[index]; > - struct OdevAttribute *oa; > - > - xorg_list_for_each_entry(oa, &device->attribs->list, member) { > - if (oa->attrib_id == attrib_id) > - return oa->attrib_name; > - } > - return NULL; > + return config_odev_get_attribute(xf86_platform_devices[index].attribs, > attrib_id); > } > > char * > xf86_get_platform_device_attrib(struct xf86_platform_device *device, int > attrib_id) > { > - struct OdevAttribute *oa; > - > - xorg_list_for_each_entry(oa, &device->attribs->list, member) { > - if (oa->attrib_id == attrib_id) > - return oa->attrib_name; > - } > - return NULL; > + return config_odev_get_attribute(device->attribs, attrib_id); > } > > Bool > diff --git a/hw/xfree86/os-support/linux/lnx_platform.c > b/hw/xfree86/os-support/linux/lnx_platform.c > index 1865b31..4317209 100644 > --- a/hw/xfree86/os-support/linux/lnx_platform.c > +++ b/hw/xfree86/os-support/linux/lnx_platform.c > @@ -118,17 +118,11 @@ xf86PlatformReprobeDevice(int index, struct > OdevAttributes *attribs) > void > xf86PlatformDeviceProbe(struct OdevAttributes *attribs) > { > - struct OdevAttribute *attrib; > int i; > char *path = NULL; > Bool ret; > > - xorg_list_for_each_entry(attrib, &attribs->list, member) { > - if (attrib->attrib_id == ODEV_ATTRIB_PATH) { > - path = attrib->attrib_name; > - break; > - } > - } > + path = config_odev_get_attribute(attribs, ODEV_ATTRIB_PATH); > if (!path) > goto out_free; > > diff --git a/include/hotplug.h b/include/hotplug.h > index 29a22c4..ee7b7d7 100644 > --- a/include/hotplug.h > +++ b/include/hotplug.h > @@ -53,6 +53,9 @@ Bool > config_odev_add_attribute(struct OdevAttributes *attribs, int attrib, > const char *attrib_name); > > +char * > +config_odev_get_attribute(struct OdevAttributes *attribs, int attrib_id); > + > void > config_odev_free_attributes(struct OdevAttributes *attribs); > > -- > 1.8.5.3 > > _______________________________________________ > [email protected]: X.Org development > Archives: http://lists.x.org/archives/xorg-devel > Info: http://lists.x.org/mailman/listinfo/xorg-devel > _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
