mutex_unlock(&rc5t583->irq_lock);
 }
-#ifdef CONFIG_PM_SLEEP
+
 static int rc5t583_irq_set_wake(struct irq_data *irq_data, unsigned int on)
 {
        struct rc5t583 *rc5t583 = irq_data_get_irq_chip_data(irq_data);
        return irq_set_irq_wake(rc5t583->chip_irq, on);
 }
-#else
-#define rc5t583_irq_set_wake NULL
-#endif
 
 static irqreturn_t rc5t583_irq(int irq, void *data)
 {
        .irq_bus_lock = rc5t583_irq_lock,
        .irq_bus_sync_unlock = rc5t583_irq_sync_unlock,
        .irq_set_type = rc5t583_irq_set_type,
-       .irq_set_wake = rc5t583_irq_set_wake,
+       .irq_set_wake = pm_sleep_ptr(rc5t583_irq_set_wake),
 };
 
 int rc5t583_irq_init(struct rc5t583 *rc5t583, int irq, int irq_base)