hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/irqchip/irq-gic-common.c
....@@ -33,7 +33,13 @@
3333 const struct gic_quirk *quirks, void *data)
3434 {
3535 for (; quirks->desc; quirks++) {
36
- if (!of_device_is_compatible(np, quirks->compatible))
36
+ if (!quirks->compatible && !quirks->property)
37
+ continue;
38
+ if (quirks->compatible &&
39
+ !of_device_is_compatible(np, quirks->compatible))
40
+ continue;
41
+ if (quirks->property &&
42
+ !of_property_read_bool(np, quirks->property))
3743 continue;
3844 if (quirks->init(data))
3945 pr_info("GIC: enabling workaround for %s\n",
....@@ -45,7 +51,7 @@
4551 void *data)
4652 {
4753 for (; quirks->desc; quirks++) {
48
- if (quirks->compatible)
54
+ if (quirks->compatible || quirks->property)
4955 continue;
5056 if (quirks->iidr != (quirks->mask & iidr))
5157 continue;
....@@ -122,7 +128,7 @@
122128
123129 amp_pri = 0;
124130 for (j = 0; j < 4; j++) {
125
- if (rockchip_amp_check_amp_irq(i + j)) {
131
+ if (rockchip_amp_need_init_amp_irq(i + j)) {
126132 amp_pri |= rockchip_amp_get_irq_prio(i + j) <<
127133 (j * 8);
128134 } else {