Merge branches 'pm-cpufreq' and 'pm-cpuidle'
[linux-2.6-microblaze.git] / include / linux / irqdesc.h
index 308d7db..891b323 100644 (file)
@@ -113,6 +113,12 @@ static inline void irq_unlock_sparse(void) { }
 extern struct irq_desc irq_desc[NR_IRQS];
 #endif
 
+static inline unsigned int irq_desc_kstat_cpu(struct irq_desc *desc,
+                                             unsigned int cpu)
+{
+       return desc->kstat_irqs ? *per_cpu_ptr(desc->kstat_irqs, cpu) : 0;
+}
+
 static inline struct irq_desc *irq_data_to_desc(struct irq_data *data)
 {
        return container_of(data->common, struct irq_desc, irq_common_data);
@@ -240,16 +246,14 @@ static inline bool irq_is_percpu_devid(unsigned int irq)
        return irq_check_status_bit(irq, IRQ_PER_CPU_DEVID);
 }
 
+void __irq_set_lockdep_class(unsigned int irq, struct lock_class_key *lock_class,
+                            struct lock_class_key *request_class);
 static inline void
 irq_set_lockdep_class(unsigned int irq, struct lock_class_key *lock_class,
                      struct lock_class_key *request_class)
 {
-       struct irq_desc *desc = irq_to_desc(irq);
-
-       if (desc) {
-               lockdep_set_class(&desc->lock, lock_class);
-               lockdep_set_class(&desc->request_mutex, request_class);
-       }
+       if (IS_ENABLED(CONFIG_LOCKDEP))
+               __irq_set_lockdep_class(irq, lock_class, request_class);
 }
 
 #endif