Thread (2 messages) 2 messages, 2 authors, 2016-03-02

[PATCH 1/6] rtc: generic: allow building on all architectures

From: Andreas Schwab <hidden>
Date: 2016-03-02 09:28:55
Also in: linux-m68k, linux-rtc, linux-sh, linuxppc-dev, lkml

Possibly related (same subject, not in this thread)

Geert Uytterhoeven [off-list ref] writes:
quoted
+#else
+#define generic_rtc_ops *(struct rtc_class_ops*)NULL
+#endif

 static int __init generic_rtc_probe(struct platform_device *dev)
 {
        struct rtc_device *rtc;
+       const struct rtc_class_ops *ops;
+
+       ops = dev_get_platdata(&dev->dev);
+       if (!ops)
+               ops = &generic_rtc_ops;
I hope no compiler version treats "&*(struct rtc_class_ops*)NULL" as
undefined behavior?
Yes, that is guaranteed, the operations cancel each other (6.5.3.2#3: If
the operand is the result of a unary * operator, neither that operator
nor the & operator is evaluated and the result is as if both were
omitted).

Andreas.

-- 
Andreas Schwab, schwab at linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help