.poll = gps_irq_poll,
.read = gps_irq_read,
.write = gps_irq_write,
- .unlocked_ioctl = gps_irq_ioctl
+ .unlocked_ioctl = gps_irq_ioctl,
+#ifdef CONFIG_COMPAT
+ .compat_ioctl = gps_irq_ioctl,
+#endif
};
static int gps_hostwake_probe(struct i2c_client *client,
.poll = gps_geofence_wake_poll,
/*.read = gps_geofence_wake_read,
.write = gps_geofence_wake_write,*/
- .unlocked_ioctl = gps_geofence_wake_ioctl
+ .unlocked_ioctl = gps_geofence_wake_ioctl,
+#ifdef CONFIG_COMPAT
+ .compat_ioctl = gps_geofence_wake_ioctl,
+#endif
};
static struct gps_geofence_wake geofence_wake;
switch (cmd) {
case IOCTL_READ_BIG_CONTEXT_DATA:
+#ifdef CONFIG_COMPAT
+ case IOCTL_READ_BIG_CONTEXT_DATA_COMPAT:
+#endif
if (unlikely(!hub_data->big_events.library_data
|| !hub_data->big_events.library_length)) {
sensorhub_info("no big library data");
.write = ssp_sensorhub_write,
.read = ssp_sensorhub_read,
.unlocked_ioctl = ssp_sensorhub_ioctl,
+#ifdef CONFIG_COMPAT
+ .compat_ioctl = ssp_sensorhub_ioctl,
+#endif
};
void ssp_sensorhub_report_notice(struct ssp_data *ssp_data, char notice)
ssp_sensorhub_fops.write = NULL;
ssp_sensorhub_fops.read = NULL;
ssp_sensorhub_fops.unlocked_ioctl = NULL;
+#ifdef CONFIG_COMPAT
+ ssp_sensorhub_fops.compat_ioctl = NULL;
+#endif
kthread_stop(hub_data->sensorhub_task);
kfifo_free(&hub_data->fifo);
#define SENSORHUB_IOCTL_MAGIC 'S'
#define IOCTL_READ_BIG_CONTEXT_DATA _IOR(SENSORHUB_IOCTL_MAGIC, 3, char *)
+#define IOCTL_READ_BIG_CONTEXT_DATA_COMPAT \
+ _IOR(SENSORHUB_IOCTL_MAGIC, 3, unsigned int)
#define sensorhub_info(str, args...) \
pr_info("[SSP]: %s - " str, __func__, ##args)
.owner = THIS_MODULE,
.open = nonseekable_open,
.unlocked_ioctl = ssp_batch_ioctl,
+#ifdef CONFIG_COMPAT
+ .compat_ioctl = ssp_batch_ioctl,
+#endif
};
static void initialize_mcu_factorytest(struct ssp_data *data)