On Sun, 2024-02-04 at 17:52 +0200, andy.shevchenko@xxxxxxxxx wrote: > Fri, Feb 02, 2024 at 04:08:36PM +0100, Nuno Sa kirjoitti: > > This is a Framework to handle complex IIO aggregate devices. > > > > The typical architecture is to have one device as the frontend device which > > can be "linked" against one or multiple backend devices. All the IIO and > > userspace interface is expected to be registers/managed by the frontend > > device which will callback into the backends when needed (to get/set > > some configuration that it does not directly control). > > > > The basic framework interface is pretty simple: > > - Backends should register themselves with @devm_iio_backend_register() > > - Frontend devices should get backends with @devm_iio_backend_get() > > ... > > > + * Copyright (C) 2023 Analog Devices Inc. > > 2024 as well? > > ... > > > +#include <linux/cleanup.h> > > +#include <linux/device.h> > > +#include <linux/err.h> > > +#include <linux/list.h> > > +#include <linux/module.h> > > +#include <linux/mutex.h> > > +#include <linux/property.h> > > +#include <linux/slab.h> > > Missing types.h and maybe more. (E.g., IIRC linux/err.h doesn't cover > linux/errno.h for Linux internal error codes, >= 512.) Just sanity checking... EOPNOTSUPP is define in [1] but I don't really think we should be including that directly (don't see anyone doing it at least)? I guess I should include <linux/errno.h>, right? [1]: https://elixir.bootlin.com/linux/v5.0.21/source/include/uapi/asm-generic/errno.h#L78 - Nuno Sá