net: pse-pd: Add support for setup_pi_matrix callback
Implement setup_pi_matrix callback to configure the PSE PI matrix. This functionality is invoked before registering the PSE and following the core parsing of the pse_pis devicetree subnode. Signed-off-by: Kory Maincent <kory.maincent@bootlin.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Link: https://lore.kernel.org/r/20240417-feature_poe-v9-9-242293fd1900@bootlin.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
b17181a88f
commit
29e28d1d7a
@@ -223,6 +223,12 @@ int pse_controller_register(struct pse_controller_dev *pcdev)
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
if (pcdev->ops->setup_pi_matrix) {
|
||||
ret = pcdev->ops->setup_pi_matrix(pcdev);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
||||
mutex_lock(&pse_list_mutex);
|
||||
list_add(&pcdev->list, &pse_controller_list);
|
||||
mutex_unlock(&pse_list_mutex);
|
||||
|
||||
@@ -49,6 +49,7 @@ struct pse_control_status {
|
||||
*
|
||||
* @ethtool_get_status: get PSE control status for ethtool interface
|
||||
* @ethtool_set_config: set PSE control configuration over ethtool interface
|
||||
* @setup_pi_matrix: setup PI matrix of the PSE controller
|
||||
*/
|
||||
struct pse_controller_ops {
|
||||
int (*ethtool_get_status)(struct pse_controller_dev *pcdev,
|
||||
@@ -57,6 +58,7 @@ struct pse_controller_ops {
|
||||
int (*ethtool_set_config)(struct pse_controller_dev *pcdev,
|
||||
unsigned long id, struct netlink_ext_ack *extack,
|
||||
const struct pse_control_config *config);
|
||||
int (*setup_pi_matrix)(struct pse_controller_dev *pcdev);
|
||||
};
|
||||
|
||||
struct module;
|
||||
|
||||
Reference in New Issue
Block a user