x86: itss: Add of-platdata support
authorSimon Glass <sjg@chromium.org>
Thu, 6 Feb 2020 16:54:59 +0000 (09:54 -0700)
committerBin Meng <bmeng.cn@gmail.com>
Fri, 7 Feb 2020 14:45:35 +0000 (22:45 +0800)
Allow this driver to be used in TPL by setting up the interrupt type
correctly.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
arch/x86/cpu/intel_common/itss.c

index 33962cb9a0e62bda53de3392107ed3f9f21b1948..b6b57cc9a0e2c11d42cfa3c845b02a277d1df1ba 100644 (file)
@@ -146,6 +146,15 @@ static int route_pmc_gpio_gpe(struct udevice *dev, uint pmc_gpe_num)
        return -ENOENT;
 }
 
+static int itss_bind(struct udevice *dev)
+{
+       /* This is not set with of-platdata, so set it manually */
+       if (CONFIG_IS_ENABLED(OF_PLATDATA))
+               dev->driver_data = X86_IRQT_ITSS;
+
+       return 0;
+}
+
 static int itss_ofdata_to_platdata(struct udevice *dev)
 {
        struct itss_priv *priv = dev_get_priv(dev);
@@ -208,6 +217,7 @@ U_BOOT_DRIVER(itss_drv) = {
        .id             = UCLASS_IRQ,
        .of_match       = itss_ids,
        .ops            = &itss_ops,
+       .bind           = itss_bind,
        .ofdata_to_platdata = itss_ofdata_to_platdata,
        .platdata_auto_alloc_size = sizeof(struct itss_platdata),
        .priv_auto_alloc_size = sizeof(struct itss_priv),