platform/surface: aggregator: Make SSAM_DEFINE_SYNC_REQUEST_x define static functions
The SSAM_DEFINE_SYNC_REQUEST_x() macros are intended to reduce
boiler-plate code for SSAM request definitions by defining a wrapper
function for the specified request. The client device variants of those
macros, i.e. SSAM_DEFINE_SYNC_REQUEST_CL_x() in particular rely on the
multi-device (MD) variants, e.g.:
#define SSAM_DEFINE_SYNC_REQUEST_CL_R(name, rtype, spec...) \
SSAM_DEFINE_SYNC_REQUEST_MD_R(__raw_##name, rtype, spec) \
int name(struct ssam_device *sdev, rtype *ret) \
{ \
return __raw_##name(sdev->ctrl, sdev->uid.target, \
sdev->uid.instance, ret); \
}
This now creates the problem that it is not possible to declare the
generated functions static via
static SSAM_DEFINE_SYNC_REQUEST_CL_R(...)
as this will only apply to the function defined by the multi-device
macro, i.e. SSAM_DEFINE_SYNC_REQUEST_MD_R(). Thus compiling with
`-Wmissing-prototypes' rightfully complains that there is a 'static'
keyword missing.
To solve this, make all SSAM_DEFINE_SYNC_REQUEST_x() macros define
static functions. Non-client-device macros are also changed for
consistency. In general, we expect those functions to be only used
locally in the respective drivers for the corresponding interfaces, so
having to define a wrapper function to be able to export this should be
the odd case out.
Reported-by: kernel test robot <lkp@intel.com>
Fixes: b78b4982d7 ("platform/surface: Add platform profile driver")
Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
Link: https://lore.kernel.org/r/20210304190524.1172197-1-luzmaximilian@gmail.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
committed by
Hans de Goede
parent
b78b4982d7
commit
03ee318391
@@ -344,16 +344,16 @@ struct ssam_request_spec_md {
|
||||
* request has been fully completed. The required transport buffer will be
|
||||
* allocated on the stack.
|
||||
*
|
||||
* The generated function is defined as ``int name(struct ssam_controller
|
||||
* *ctrl)``, returning the status of the request, which is zero on success and
|
||||
* negative on failure. The ``ctrl`` parameter is the controller via which the
|
||||
* request is being sent.
|
||||
* The generated function is defined as ``static int name(struct
|
||||
* ssam_controller *ctrl)``, returning the status of the request, which is
|
||||
* zero on success and negative on failure. The ``ctrl`` parameter is the
|
||||
* controller via which the request is being sent.
|
||||
*
|
||||
* Refer to ssam_request_sync_onstack() for more details on the behavior of
|
||||
* the generated function.
|
||||
*/
|
||||
#define SSAM_DEFINE_SYNC_REQUEST_N(name, spec...) \
|
||||
int name(struct ssam_controller *ctrl) \
|
||||
static int name(struct ssam_controller *ctrl) \
|
||||
{ \
|
||||
struct ssam_request_spec s = (struct ssam_request_spec)spec; \
|
||||
struct ssam_request rqst; \
|
||||
@@ -383,17 +383,17 @@ struct ssam_request_spec_md {
|
||||
* returning once the request has been fully completed. The required transport
|
||||
* buffer will be allocated on the stack.
|
||||
*
|
||||
* The generated function is defined as ``int name(struct ssam_controller
|
||||
* *ctrl, const atype *arg)``, returning the status of the request, which is
|
||||
* zero on success and negative on failure. The ``ctrl`` parameter is the
|
||||
* controller via which the request is sent. The request argument is specified
|
||||
* via the ``arg`` pointer.
|
||||
* The generated function is defined as ``static int name(struct
|
||||
* ssam_controller *ctrl, const atype *arg)``, returning the status of the
|
||||
* request, which is zero on success and negative on failure. The ``ctrl``
|
||||
* parameter is the controller via which the request is sent. The request
|
||||
* argument is specified via the ``arg`` pointer.
|
||||
*
|
||||
* Refer to ssam_request_sync_onstack() for more details on the behavior of
|
||||
* the generated function.
|
||||
*/
|
||||
#define SSAM_DEFINE_SYNC_REQUEST_W(name, atype, spec...) \
|
||||
int name(struct ssam_controller *ctrl, const atype *arg) \
|
||||
static int name(struct ssam_controller *ctrl, const atype *arg) \
|
||||
{ \
|
||||
struct ssam_request_spec s = (struct ssam_request_spec)spec; \
|
||||
struct ssam_request rqst; \
|
||||
@@ -424,17 +424,17 @@ struct ssam_request_spec_md {
|
||||
* request itself, returning once the request has been fully completed. The
|
||||
* required transport buffer will be allocated on the stack.
|
||||
*
|
||||
* The generated function is defined as ``int name(struct ssam_controller
|
||||
* *ctrl, rtype *ret)``, returning the status of the request, which is zero on
|
||||
* success and negative on failure. The ``ctrl`` parameter is the controller
|
||||
* via which the request is sent. The request's return value is written to the
|
||||
* memory pointed to by the ``ret`` parameter.
|
||||
* The generated function is defined as ``static int name(struct
|
||||
* ssam_controller *ctrl, rtype *ret)``, returning the status of the request,
|
||||
* which is zero on success and negative on failure. The ``ctrl`` parameter is
|
||||
* the controller via which the request is sent. The request's return value is
|
||||
* written to the memory pointed to by the ``ret`` parameter.
|
||||
*
|
||||
* Refer to ssam_request_sync_onstack() for more details on the behavior of
|
||||
* the generated function.
|
||||
*/
|
||||
#define SSAM_DEFINE_SYNC_REQUEST_R(name, rtype, spec...) \
|
||||
int name(struct ssam_controller *ctrl, rtype *ret) \
|
||||
static int name(struct ssam_controller *ctrl, rtype *ret) \
|
||||
{ \
|
||||
struct ssam_request_spec s = (struct ssam_request_spec)spec; \
|
||||
struct ssam_request rqst; \
|
||||
@@ -483,17 +483,17 @@ struct ssam_request_spec_md {
|
||||
* returning once the request has been fully completed. The required transport
|
||||
* buffer will be allocated on the stack.
|
||||
*
|
||||
* The generated function is defined as ``int name(struct ssam_controller
|
||||
* *ctrl, u8 tid, u8 iid)``, returning the status of the request, which is
|
||||
* zero on success and negative on failure. The ``ctrl`` parameter is the
|
||||
* controller via which the request is sent, ``tid`` the target ID for the
|
||||
* request, and ``iid`` the instance ID.
|
||||
* The generated function is defined as ``static int name(struct
|
||||
* ssam_controller *ctrl, u8 tid, u8 iid)``, returning the status of the
|
||||
* request, which is zero on success and negative on failure. The ``ctrl``
|
||||
* parameter is the controller via which the request is sent, ``tid`` the
|
||||
* target ID for the request, and ``iid`` the instance ID.
|
||||
*
|
||||
* Refer to ssam_request_sync_onstack() for more details on the behavior of
|
||||
* the generated function.
|
||||
*/
|
||||
#define SSAM_DEFINE_SYNC_REQUEST_MD_N(name, spec...) \
|
||||
int name(struct ssam_controller *ctrl, u8 tid, u8 iid) \
|
||||
static int name(struct ssam_controller *ctrl, u8 tid, u8 iid) \
|
||||
{ \
|
||||
struct ssam_request_spec_md s = (struct ssam_request_spec_md)spec; \
|
||||
struct ssam_request rqst; \
|
||||
@@ -524,18 +524,18 @@ struct ssam_request_spec_md {
|
||||
* the request itself, returning once the request has been fully completed.
|
||||
* The required transport buffer will be allocated on the stack.
|
||||
*
|
||||
* The generated function is defined as ``int name(struct ssam_controller
|
||||
* *ctrl, u8 tid, u8 iid, const atype *arg)``, returning the status of the
|
||||
* request, which is zero on success and negative on failure. The ``ctrl``
|
||||
* parameter is the controller via which the request is sent, ``tid`` the
|
||||
* target ID for the request, and ``iid`` the instance ID. The request argument
|
||||
* is specified via the ``arg`` pointer.
|
||||
* The generated function is defined as ``static int name(struct
|
||||
* ssam_controller *ctrl, u8 tid, u8 iid, const atype *arg)``, returning the
|
||||
* status of the request, which is zero on success and negative on failure.
|
||||
* The ``ctrl`` parameter is the controller via which the request is sent,
|
||||
* ``tid`` the target ID for the request, and ``iid`` the instance ID. The
|
||||
* request argument is specified via the ``arg`` pointer.
|
||||
*
|
||||
* Refer to ssam_request_sync_onstack() for more details on the behavior of
|
||||
* the generated function.
|
||||
*/
|
||||
#define SSAM_DEFINE_SYNC_REQUEST_MD_W(name, atype, spec...) \
|
||||
int name(struct ssam_controller *ctrl, u8 tid, u8 iid, const atype *arg)\
|
||||
static int name(struct ssam_controller *ctrl, u8 tid, u8 iid, const atype *arg) \
|
||||
{ \
|
||||
struct ssam_request_spec_md s = (struct ssam_request_spec_md)spec; \
|
||||
struct ssam_request rqst; \
|
||||
@@ -567,18 +567,18 @@ struct ssam_request_spec_md {
|
||||
* execution of the request itself, returning once the request has been fully
|
||||
* completed. The required transport buffer will be allocated on the stack.
|
||||
*
|
||||
* The generated function is defined as ``int name(struct ssam_controller
|
||||
* *ctrl, u8 tid, u8 iid, rtype *ret)``, returning the status of the request,
|
||||
* which is zero on success and negative on failure. The ``ctrl`` parameter is
|
||||
* the controller via which the request is sent, ``tid`` the target ID for the
|
||||
* request, and ``iid`` the instance ID. The request's return value is written
|
||||
* to the memory pointed to by the ``ret`` parameter.
|
||||
* The generated function is defined as ``static int name(struct
|
||||
* ssam_controller *ctrl, u8 tid, u8 iid, rtype *ret)``, returning the status
|
||||
* of the request, which is zero on success and negative on failure. The
|
||||
* ``ctrl`` parameter is the controller via which the request is sent, ``tid``
|
||||
* the target ID for the request, and ``iid`` the instance ID. The request's
|
||||
* return value is written to the memory pointed to by the ``ret`` parameter.
|
||||
*
|
||||
* Refer to ssam_request_sync_onstack() for more details on the behavior of
|
||||
* the generated function.
|
||||
*/
|
||||
#define SSAM_DEFINE_SYNC_REQUEST_MD_R(name, rtype, spec...) \
|
||||
int name(struct ssam_controller *ctrl, u8 tid, u8 iid, rtype *ret) \
|
||||
static int name(struct ssam_controller *ctrl, u8 tid, u8 iid, rtype *ret) \
|
||||
{ \
|
||||
struct ssam_request_spec_md s = (struct ssam_request_spec_md)spec; \
|
||||
struct ssam_request rqst; \
|
||||
|
||||
Reference in New Issue
Block a user