.. | .. |
---|
33 | 33 | const struct gic_quirk *quirks, void *data) |
---|
34 | 34 | { |
---|
35 | 35 | 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)) |
---|
37 | 43 | continue; |
---|
38 | 44 | if (quirks->init(data)) |
---|
39 | 45 | pr_info("GIC: enabling workaround for %s\n", |
---|
.. | .. |
---|
45 | 51 | void *data) |
---|
46 | 52 | { |
---|
47 | 53 | for (; quirks->desc; quirks++) { |
---|
48 | | - if (quirks->compatible) |
---|
| 54 | + if (quirks->compatible || quirks->property) |
---|
49 | 55 | continue; |
---|
50 | 56 | if (quirks->iidr != (quirks->mask & iidr)) |
---|
51 | 57 | continue; |
---|
.. | .. |
---|
122 | 128 | |
---|
123 | 129 | amp_pri = 0; |
---|
124 | 130 | 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)) { |
---|
126 | 132 | amp_pri |= rockchip_amp_get_irq_prio(i + j) << |
---|
127 | 133 | (j * 8); |
---|
128 | 134 | } else { |
---|