u-boot-brain/include/reset-uclass.h
Masahiro Yamada d9f5d99245 reset: declare fdtdec_phandle_args as struct to fix warning
The of_xlate() callback needs to know fdtdec_phandle_args is struct.

Otherwise, the following warning is displayed.

include/reset-uclass.h:40:11: warning: 'struct fdtdec_phandle_args'
declared inside parameter list
    struct fdtdec_phandle_args *args);
           ^
include/reset-uclass.h:40:11: warning: its scope is only this
definition or declaration, which is probably not what you want

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2016-10-10 10:03:23 +09:00

83 lines
2.4 KiB
C

/*
* Copyright (c) 2016, NVIDIA CORPORATION.
*
* SPDX-License-Identifier: GPL-2.0
*/
#ifndef _RESET_UCLASS_H
#define _RESET_UCLASS_H
/* See reset.h for background documentation. */
#include <reset.h>
struct fdtdec_phandle_args;
struct udevice;
/**
* struct reset_ops - The functions that a reset controller driver must
* implement.
*/
struct reset_ops {
/**
* of_xlate - Translate a client's device-tree (OF) reset specifier.
*
* The reset core calls this function as the first step in implementing
* a client's reset_get_by_*() call.
*
* If this function pointer is set to NULL, the reset core will use a
* default implementation, which assumes #reset-cells = <1>, and that
* the DT cell contains a simple integer reset signal ID.
*
* At present, the reset API solely supports device-tree. If this
* changes, other xxx_xlate() functions may be added to support those
* other mechanisms.
*
* @reset_ctl: The reset control struct to hold the translation result.
* @args: The reset specifier values from device tree.
* @return 0 if OK, or a negative error code.
*/
int (*of_xlate)(struct reset_ctl *reset_ctl,
struct fdtdec_phandle_args *args);
/**
* request - Request a translated reset control.
*
* The reset core calls this function as the second step in
* implementing a client's reset_get_by_*() call, following a
* successful xxx_xlate() call.
*
* @reset_ctl: The reset control struct to request; this has been
* filled in by a previoux xxx_xlate() function call.
* @return 0 if OK, or a negative error code.
*/
int (*request)(struct reset_ctl *reset_ctl);
/**
* free - Free a previously requested reset control.
*
* This is the implementation of the client reset_free() API.
*
* @reset_ctl: The reset control to free.
* @return 0 if OK, or a negative error code.
*/
int (*free)(struct reset_ctl *reset_ctl);
/**
* rst_assert - Assert a reset signal.
*
* Note: This function is named rst_assert not assert to avoid
* conflicting with global macro assert().
*
* @reset_ctl: The reset signal to assert.
* @return 0 if OK, or a negative error code.
*/
int (*rst_assert)(struct reset_ctl *reset_ctl);
/**
* rst_deassert - Deassert a reset signal.
*
* @reset_ctl: The reset signal to deassert.
* @return 0 if OK, or a negative error code.
*/
int (*rst_deassert)(struct reset_ctl *reset_ctl);
};
#endif