{
        struct st_sensor_data *sdata = iio_priv(indio_dev);
 
+       /* Sensor does not support interrupts */
+       if (sdata->sensor_settings->drdy_irq.addr == 0) {
+               if (pdata->drdy_int_pin)
+                       dev_info(&indio_dev->dev,
+                                "DRDY on pin INT%d specified, but sensor "
+                                "does not support interrupts\n",
+                                pdata->drdy_int_pin);
+               return 0;
+       }
+
        switch (pdata->drdy_int_pin) {
        case 1:
                if (sdata->sensor_settings->drdy_irq.mask_int1 == 0) {
        if (!of_property_read_u32(np, "st,drdy-int-pin", &val) && (val <= 2))
                pdata->drdy_int_pin = (u8) val;
        else
-               pdata->drdy_int_pin = defdata ? defdata->drdy_int_pin : 1;
+               pdata->drdy_int_pin = defdata ? defdata->drdy_int_pin : 0;
 
        return pdata;
 }