+ /* if we have a direction register we need both input andThis failed for me since I didn't have the 'dat' base assigned. I
output */
+ if ((config->reg_dir_out_base || config->reg_dir_in_base) &&
+ (!config->reg_dat_base || !config->reg_set_base))
+ return ERR_PTR(-EINVAL);
still can't figure out what 'dat' stands for...I just assigned it to
the same offset as the 'set' base but really don't understand what
this is supposed to do.
+
+ /* we don't support having both registers simultaneously for
now */
+ if (config->reg_dir_out_base && config->reg_dir_in_base)
+ return ERR_PTR(-EINVAL);
and this second test seems to contradict the notion of 'both input and
output' above?
re-adding comment from previous series:
>> I still have a series of odd warnings I didn't have before: >> >>
[ 101.400263] WARNING: CPU: 3 PID: 1129 at >>
drivers/gpio/gpiolib.c:4084 gpiod_set_value+0x3f/0x50 >> >> This seems
to come from >> /* Should be using gpiod_set_value_cansleep() */
gpio-regmap hardcodes can_sleep to true. But the only regmap > whichWARN_ON(desc->gdev->chip->can_sleep); > > Right now,
don't sleep is regmap-mmio. The PCM512x seems to be either I2C or >
SPI, which can both sleep. So this warning is actually correct and >
wherever this gpio is set should do it by calling the _cansleep() >
version.
I still have the warnings with this version, not sure if you wanted to
fix it in the v6 or is this needs to be fixed in another piece of
code/patch. How would we go about removing this warning?