diff options
Diffstat (limited to 'drivers/sysreset/sysreset_syscon.c')
| -rw-r--r-- | drivers/sysreset/sysreset_syscon.c | 6 | 
1 files changed, 4 insertions, 2 deletions
| diff --git a/drivers/sysreset/sysreset_syscon.c b/drivers/sysreset/sysreset_syscon.c index 1028160247a..d0e586f66f6 100644 --- a/drivers/sysreset/sysreset_syscon.c +++ b/drivers/sysreset/sysreset_syscon.c @@ -23,8 +23,9 @@ struct syscon_reboot_priv {  static int syscon_reboot_request(struct udevice *dev, enum sysreset_t type)  {  	struct syscon_reboot_priv *priv = dev_get_priv(dev); +	ulong driver_data = dev_get_driver_data(dev); -	if (type == SYSRESET_POWER) +	if (type != driver_data)  		return -EPROTONOSUPPORT;  	regmap_write(priv->regmap, priv->offset, priv->mask); @@ -53,7 +54,8 @@ int syscon_reboot_probe(struct udevice *dev)  }  static const struct udevice_id syscon_reboot_ids[] = { -	{ .compatible = "syscon-reboot" }, +	{ .compatible = "syscon-reboot", .data = SYSRESET_COLD }, +	{ .compatible = "syscon-poweroff", .data = SYSRESET_POWER_OFF },  	{ /* sentinel */ }  }; | 
