Hi! > >>+/** > >>+ * led_classdev_register_ext - register a new object of LED class with > >>+ * init data > >>+ * @parent: LED controller device this LED is driven by > >>+ * @led_cdev: the led_classdev structure for this device > >>+ * @init_data: the LED class device initialization data > >>+ * > >>+ * Returns: 0 on success or negative error value on failure > >>+ */ > >>+extern int led_classdev_register_ext(struct device *parent, > >>+ struct led_classdev *led_cdev, > >>+ struct led_init_data *init_data); > >>+#define led_classdev_register(parent, led_cdev) \ > >>+ led_classdev_register_ext(parent, led_cdev, NULL) > >>+extern int devm_led_classdev_register_ext(struct device *parent, > >>+ struct led_classdev *led_cdev, > >>+ struct led_init_data *init_data); > >>+#define devm_led_classdev_register(parent, led_cdev) \ > >>+ devm_led_classdev_register_ext(parent, led_cdev, NULL) > > > >Static inline (instead of macro) might be preffered. More type safety > >and less confusing behaviour in case of errors... > > This is kind of alias. You have type control in the function being > mapped. With inline we'd have to nest the function calls, i.e. > it will worsen performance by this one additional call level. It is not a big issue; but no, performance will be exactly the same. "static inline" says .. well, inline this into caller, so there will be one function call, not two. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Attachment:
signature.asc
Description: Digital signature