block: uapi: fix comment about block device ioctl
[linux-2.6-microblaze.git] / include / linux / scmi_protocol.h
index 17b82c7..79d0a12 100644 (file)
@@ -515,7 +515,7 @@ struct scmi_voltage_info {
 };
 
 /**
- * struct scmi_voltage_ops - represents the various operations provided
+ * struct scmi_voltage_proto_ops - represents the various operations provided
  * by SCMI Voltage Protocol
  *
  * @num_domains_get: get the count of voltage domains provided by SCMI
@@ -525,19 +525,19 @@ struct scmi_voltage_info {
  * @level_set: set the voltage level for the specified domain
  * @level_get: get the voltage level of the specified domain
  */
-struct scmi_voltage_ops {
-       int (*num_domains_get)(const struct scmi_handle *handle);
+struct scmi_voltage_proto_ops {
+       int (*num_domains_get)(const struct scmi_protocol_handle *ph);
        const struct scmi_voltage_info __must_check *(*info_get)
-               (const struct scmi_handle *handle, u32 domain_id);
-       int (*config_set)(const struct scmi_handle *handle, u32 domain_id,
+               (const struct scmi_protocol_handle *ph, u32 domain_id);
+       int (*config_set)(const struct scmi_protocol_handle *ph, u32 domain_id,
                          u32 config);
 #define        SCMI_VOLTAGE_ARCH_STATE_OFF             0x0
 #define        SCMI_VOLTAGE_ARCH_STATE_ON              0x7
-       int (*config_get)(const struct scmi_handle *handle, u32 domain_id,
+       int (*config_get)(const struct scmi_protocol_handle *ph, u32 domain_id,
                          u32 *config);
-       int (*level_set)(const struct scmi_handle *handle, u32 domain_id,
+       int (*level_set)(const struct scmi_protocol_handle *ph, u32 domain_id,
                         u32 flags, s32 volt_uV);
-       int (*level_get)(const struct scmi_handle *handle, u32 domain_id,
+       int (*level_get)(const struct scmi_protocol_handle *ph, u32 domain_id,
                         s32 *volt_uV);
 };
 
@@ -548,8 +548,8 @@ struct scmi_voltage_ops {
  *                               the requested event
  * @devm_event_notifier_unregister: Managed unregistration of a notifier_block
  *                                 for the requested event
- * @register_event_notifier: Register a notifier_block for the requested event
- * @unregister_event_notifier: Unregister a notifier_block for the requested
+ * @event_notifier_register: Register a notifier_block for the requested event
+ * @event_notifier_unregister: Unregister a notifier_block for the requested
  *                            event
  *
  * A user can register/unregister its own notifier_block against the wanted
@@ -590,11 +590,11 @@ struct scmi_notify_ops {
                                              u8 proto_id, u8 evt_id,
                                              const u32 *src_id,
                                              struct notifier_block *nb);
-       int (*register_event_notifier)(const struct scmi_handle *handle,
+       int (*event_notifier_register)(const struct scmi_handle *handle,
                                       u8 proto_id, u8 evt_id,
                                       const u32 *src_id,
                                       struct notifier_block *nb);
-       int (*unregister_event_notifier)(const struct scmi_handle *handle,
+       int (*event_notifier_unregister)(const struct scmi_handle *handle,
                                         u8 proto_id, u8 evt_id,
                                         const u32 *src_id,
                                         struct notifier_block *nb);
@@ -605,20 +605,14 @@ struct scmi_notify_ops {
  *
  * @dev: pointer to the SCMI device
  * @version: pointer to the structure containing SCMI version information
- * @voltage_ops: pointer to set of voltage protocol operations
  * @devm_protocol_get: devres managed method to acquire a protocol and get specific
  *                    operations and a dedicated protocol handler
  * @devm_protocol_put: devres managed method to release a protocol
  * @notify_ops: pointer to set of notifications related operations
- * @voltage_priv: pointer to private data structure specific to voltage
- *     protocol(for internal use only)
- * @notify_priv: pointer to private data structure specific to notifications
- *     (for internal use only)
  */
 struct scmi_handle {
        struct device *dev;
        struct scmi_revision_info *version;
-       const struct scmi_voltage_ops *voltage_ops;
 
        const void __must_check *
                (*devm_protocol_get)(struct scmi_device *sdev, u8 proto,
@@ -626,9 +620,6 @@ struct scmi_handle {
        void (*devm_protocol_put)(struct scmi_device *sdev, u8 proto);
 
        const struct scmi_notify_ops *notify_ops;
-       /* for protocol internal use */
-       void *voltage_priv;
-       void *notify_priv;
 };
 
 enum scmi_std_protocol {
@@ -713,6 +704,18 @@ static inline void scmi_driver_unregister(struct scmi_driver *driver) {}
 #define module_scmi_driver(__scmi_driver)      \
        module_driver(__scmi_driver, scmi_register, scmi_unregister)
 
+/**
+ * module_scmi_protocol() - Helper macro for registering a scmi protocol
+ * @__scmi_protocol: scmi_protocol structure
+ *
+ * Helper macro for scmi drivers to set up proper module init / exit
+ * functions.  Replaces module_init() and module_exit() and keeps people from
+ * printing pointless things to the kernel log when their driver is loaded.
+ */
+#define module_scmi_protocol(__scmi_protocol)  \
+       module_driver(__scmi_protocol,          \
+                     scmi_protocol_register, scmi_protocol_unregister)
+
 struct scmi_protocol;
 int scmi_protocol_register(const struct scmi_protocol *proto);
 void scmi_protocol_unregister(const struct scmi_protocol *proto);