On 03/02/2018 11:08 AM, Russell King - ARM Linux wrote: > On Fri, Mar 02, 2018 at 08:22:52AM -0600, Andrew F. Davis wrote: >>> diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c >>> index 84e5a9d..f0fab26 100644 >>> --- a/drivers/gpio/gpiolib-of.c >>> +++ b/drivers/gpio/gpiolib-of.c >>> @@ -241,29 +241,17 @@ struct gpio_desc *of_find_gpio(struct device *dev, const char *con_id, >>> >>> desc = of_get_named_gpiod_flags(dev->of_node, prop_name, idx, >>> &of_flags); >>> - /* >>> - * -EPROBE_DEFER in our case means that we found a >>> - * valid GPIO property, but no controller has been >>> - * registered so far. >>> - * >>> - * This means we don't need to look any further for >>> - * alternate name conventions, and we should really >>> - * preserve the return code for our user to be able to >>> - * retry probing later. >>> - */ >>> - if (IS_ERR(desc) && PTR_ERR(desc) == -EPROBE_DEFER) >>> - return desc; >>> >>> - if (!IS_ERR(desc) || (PTR_ERR(desc) != -ENOENT)) >>> + if (!IS_ERR(desc) || PTR_ERR(desc) != -ENOENT) >> >> >> I rather like the () so one doesn't always have to look up C operator >> precedence to verify.. > > Too many make it impossible to see which close paren ties up with > which open paren. I've spent way too long in the past reformatting > code, where people think that () are a good thing, to work out what > the comparison is actually doing before then rewriting the damn > thing with less () and in a much clearer way. I'm now convinced > that unnecessary () are a very bad thing as they severely harm > readability as test complexity increases. > Fair enough, I personally prefer always having a new line per condition when doing chained conditionals: if (something && this == that && !not_this) >> >> >>> break; >>> } >>> >>> /* Special handling for SPI GPIOs if used */ >>> - if (IS_ERR(desc)) >>> + if (IS_ERR(desc) && PTR_ERR(desc) == -ENOENT) > > These can be simplified to: > > if (desc == ERR_PTR(-ENOENT)) > > since error pointers are unique - ERR_PTR(-ENOENT) is what was > returned as an error-pointer, and if IS_ERR(ERR_PTR(-ENOMENT)) etc > were false, we'd have big problems as it'd mean we couldn't detect > error pointers! > > As an added bonus, they don't involve any operator precedence > questions either. > Looks like your suggestion clears up this one anyway. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html