On Fri, Feb 16, 2024, at 16:51, Paul E. McKenney wrote: > On Fri, Feb 16, 2024 at 03:04:14PM +0100, Arnd Bergmann wrote: >> On Fri, Feb 16, 2024, at 14:19, Bartosz Golaszewski wrote: >> > On Fri, Feb 16, 2024 at 2:00 PM Arnd Bergmann <arnd@xxxxxxxxxx> wrote: >> >> >> >> From: Arnd Bergmann <arnd@xxxxxxxx> >> >> >> >> The 'gc' variable is never set before it gets printed: >> >> >> >> drivers/gpio/gpiolib-cdev.c:2802:11: error: variable 'gc' is uninitialized when used here [-Werror,-Wuninitialized] >> >> 2802 | chip_dbg(gc, "added GPIO chardev (%d:%d)\n", MAJOR(devt), gdev->id); >> >> | ^~ >> >> drivers/gpio/gpiolib.h:277:11: note: expanded from macro 'chip_dbg' >> >> 277 | dev_dbg(&gc->gpiodev->dev, "(%s): " fmt, gc->label, ##__VA_ARGS__) >> >> | ^~ >> >> >> >> Use dev_dbg() directly. >> >> >> >> Fixes: 8574b5b47610 ("gpio: cdev: use correct pointer accessors with SRCU") >> >> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> >> >> --- >> > >> > I seem to have beat you to it[1] and my patch doesn't change the log >> > message so I'll apply it instead of this one. >> >> Ok, thanks. I thought about doing this, but could not >> figure out which of the RCU primitives to use. > > I will count that as a bug against RCU's documentation, but I am not > sure how to fix it. Thoughts? I didn't really try at all, I just figured I could avoid thinking about it by using the device pointer at hand. I'm sure the docs would have told me if I had bothered to look. Arnd