|
@@ -421,10 +421,10 @@ RW_ATTR(threshold_limit);
|
|
|
RW_ATTR(error_count);
|
|
|
|
|
|
static struct attribute *default_attrs[] = {
|
|
|
- &interrupt_enable.attr,
|
|
|
&threshold_limit.attr,
|
|
|
&error_count.attr,
|
|
|
- NULL
|
|
|
+ NULL, /* possibly interrupt_enable if supported, see below */
|
|
|
+ NULL,
|
|
|
};
|
|
|
|
|
|
#define to_block(k) container_of(k, struct threshold_block, kobj)
|
|
@@ -501,6 +501,11 @@ static __cpuinit int allocate_threshold_blocks(unsigned int cpu,
|
|
|
b->interrupt_capable = lvt_interrupt_supported(bank, high);
|
|
|
b->threshold_limit = THRESHOLD_MAX;
|
|
|
|
|
|
+ if (b->interrupt_capable)
|
|
|
+ threshold_ktype.default_attrs[2] = &interrupt_enable.attr;
|
|
|
+ else
|
|
|
+ threshold_ktype.default_attrs[2] = NULL;
|
|
|
+
|
|
|
INIT_LIST_HEAD(&b->miscj);
|
|
|
|
|
|
if (per_cpu(threshold_banks, cpu)[bank]->blocks) {
|