mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 01:24:47 +01:00
pinctrl: Constify pointers to 'pinctrl_desc'
Pin controller core code only stores the pointer to 'struct pinctrl_desc' and does not modify it anywhere. The pointer can be changed to pointer to const which makes the code safer, explicit and later allows constifying 'pinctrl_desc' allocations in individual drivers. Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/20250611-pinctrl-const-desc-v2-4-b11c1d650384@linaro.org Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
91ed43b045
commit
9724e6f195
3 changed files with 12 additions and 11 deletions
|
|
@ -2062,7 +2062,7 @@ static int pinctrl_check_ops(struct pinctrl_dev *pctldev)
|
|||
* @driver_data: private pin controller data for this pin controller
|
||||
*/
|
||||
static struct pinctrl_dev *
|
||||
pinctrl_init_controller(struct pinctrl_desc *pctldesc, struct device *dev,
|
||||
pinctrl_init_controller(const struct pinctrl_desc *pctldesc, struct device *dev,
|
||||
void *driver_data)
|
||||
{
|
||||
struct pinctrl_dev *pctldev;
|
||||
|
|
@ -2132,7 +2132,8 @@ out_err:
|
|||
return ERR_PTR(ret);
|
||||
}
|
||||
|
||||
static void pinctrl_uninit_controller(struct pinctrl_dev *pctldev, struct pinctrl_desc *pctldesc)
|
||||
static void pinctrl_uninit_controller(struct pinctrl_dev *pctldev,
|
||||
const struct pinctrl_desc *pctldesc)
|
||||
{
|
||||
pinctrl_free_pindescs(pctldev, pctldesc->pins,
|
||||
pctldesc->npins);
|
||||
|
|
@ -2209,7 +2210,7 @@ EXPORT_SYMBOL_GPL(pinctrl_enable);
|
|||
* struct pinctrl_dev handle. To avoid issues later on, please use the
|
||||
* new pinctrl_register_and_init() below instead.
|
||||
*/
|
||||
struct pinctrl_dev *pinctrl_register(struct pinctrl_desc *pctldesc,
|
||||
struct pinctrl_dev *pinctrl_register(const struct pinctrl_desc *pctldesc,
|
||||
struct device *dev, void *driver_data)
|
||||
{
|
||||
struct pinctrl_dev *pctldev;
|
||||
|
|
@ -2239,7 +2240,7 @@ EXPORT_SYMBOL_GPL(pinctrl_register);
|
|||
* Note that pinctrl_enable() still needs to be manually called after
|
||||
* this once the driver is ready.
|
||||
*/
|
||||
int pinctrl_register_and_init(struct pinctrl_desc *pctldesc,
|
||||
int pinctrl_register_and_init(const struct pinctrl_desc *pctldesc,
|
||||
struct device *dev, void *driver_data,
|
||||
struct pinctrl_dev **pctldev)
|
||||
{
|
||||
|
|
@ -2330,7 +2331,7 @@ static int devm_pinctrl_dev_match(struct device *dev, void *res, void *data)
|
|||
* The pinctrl device will be automatically released when the device is unbound.
|
||||
*/
|
||||
struct pinctrl_dev *devm_pinctrl_register(struct device *dev,
|
||||
struct pinctrl_desc *pctldesc,
|
||||
const struct pinctrl_desc *pctldesc,
|
||||
void *driver_data)
|
||||
{
|
||||
struct pinctrl_dev **ptr, *pctldev;
|
||||
|
|
@ -2364,7 +2365,7 @@ EXPORT_SYMBOL_GPL(devm_pinctrl_register);
|
|||
* The pinctrl device will be automatically released when the device is unbound.
|
||||
*/
|
||||
int devm_pinctrl_register_and_init(struct device *dev,
|
||||
struct pinctrl_desc *pctldesc,
|
||||
const struct pinctrl_desc *pctldesc,
|
||||
void *driver_data,
|
||||
struct pinctrl_dev **pctldev)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ struct pinctrl_state;
|
|||
*/
|
||||
struct pinctrl_dev {
|
||||
struct list_head node;
|
||||
struct pinctrl_desc *desc;
|
||||
const struct pinctrl_desc *desc;
|
||||
struct radix_tree_root pin_desc_tree;
|
||||
#ifdef CONFIG_GENERIC_PINCTRL_GROUPS
|
||||
struct radix_tree_root pin_group_tree;
|
||||
|
|
|
|||
|
|
@ -165,25 +165,25 @@ struct pinctrl_desc {
|
|||
|
||||
/* External interface to pin controller */
|
||||
|
||||
extern int pinctrl_register_and_init(struct pinctrl_desc *pctldesc,
|
||||
extern int pinctrl_register_and_init(const struct pinctrl_desc *pctldesc,
|
||||
struct device *dev, void *driver_data,
|
||||
struct pinctrl_dev **pctldev);
|
||||
extern int pinctrl_enable(struct pinctrl_dev *pctldev);
|
||||
|
||||
/* Please use pinctrl_register_and_init() and pinctrl_enable() instead */
|
||||
extern struct pinctrl_dev *pinctrl_register(struct pinctrl_desc *pctldesc,
|
||||
extern struct pinctrl_dev *pinctrl_register(const struct pinctrl_desc *pctldesc,
|
||||
struct device *dev, void *driver_data);
|
||||
|
||||
extern void pinctrl_unregister(struct pinctrl_dev *pctldev);
|
||||
|
||||
extern int devm_pinctrl_register_and_init(struct device *dev,
|
||||
struct pinctrl_desc *pctldesc,
|
||||
const struct pinctrl_desc *pctldesc,
|
||||
void *driver_data,
|
||||
struct pinctrl_dev **pctldev);
|
||||
|
||||
/* Please use devm_pinctrl_register_and_init() instead */
|
||||
extern struct pinctrl_dev *devm_pinctrl_register(struct device *dev,
|
||||
struct pinctrl_desc *pctldesc,
|
||||
const struct pinctrl_desc *pctldesc,
|
||||
void *driver_data);
|
||||
|
||||
extern void devm_pinctrl_unregister(struct device *dev,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue