Re: [PATCH/RFC 3/8] of: Add helper function to check MMIO register endianness
From: Kevin Cernekee <cernekee@gmail.com>
Date: 2014-11-12 09:04:08
Also in:
linux-mips, linux-serial
From: Kevin Cernekee <cernekee@gmail.com>
Date: 2014-11-12 09:04:08
Also in:
linux-mips, linux-serial
On Wed, Nov 12, 2014 at 12:50 AM, Jiri Slaby [off-list ref] wrote:
quoted
/** + * of_device_is_big_endian - check if a device has BE registers + * + * @device: Node to check for availability
Oops, just noticed a copy/paste error here.
quoted
+ * + * Returns 1 if the device has a "big-endian" property, or if the kernel + * was compiled for BE *and* the device has a "native-endian" property. + * Returns 0 otherwise. + * + * Callers would nominally use ioread32be/iowrite32be if + * of_device_is_big_endian() == 1, or readl/writel otherwise. + */ +int of_device_is_big_endian(const struct device_node *device) +{ + if (of_property_read_bool(device, "big-endian")) + return 1; + if (IS_ENABLED(CONFIG_CPU_BIG_ENDIAN) && + of_property_read_bool(device, "native-endian")) + return 1; + return 0; +}This should actually return bool and use true/false.
Well, the other APIs currently return an int:
extern int of_device_is_compatible(const struct device_node *device,
const char *);
extern int of_device_is_available(const struct device_node *device);
[...]
extern int of_machine_is_compatible(const char *compat);
Do you think it is best to change all of them at once, or just the
newly introduced function?