linux/drivers/input/misc/max8997_haptic.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * MAX8997-haptic controller driver
 *
 * Copyright (C) 2012 Samsung Electronics
 * Donggeun Kim <[email protected]>
 *
 * This program is not provided / owned by Maxim Integrated Products.
 */

#include <linux/module.h>
#include <linux/slab.h>
#include <linux/platform_device.h>
#include <linux/err.h>
#include <linux/pwm.h>
#include <linux/input.h>
#include <linux/mfd/max8997-private.h>
#include <linux/mfd/max8997.h>
#include <linux/regulator/consumer.h>

/* Haptic configuration 2 register */
#define MAX8997_MOTOR_TYPE_SHIFT
#define MAX8997_ENABLE_SHIFT
#define MAX8997_MODE_SHIFT

/* Haptic driver configuration register */
#define MAX8997_CYCLE_SHIFT
#define MAX8997_SIG_PERIOD_SHIFT
#define MAX8997_SIG_DUTY_SHIFT
#define MAX8997_PWM_DUTY_SHIFT

struct max8997_haptic {};

static int max8997_haptic_set_duty_cycle(struct max8997_haptic *chip)
{}

static void max8997_haptic_configure(struct max8997_haptic *chip)
{}

static void max8997_haptic_enable(struct max8997_haptic *chip)
{}

static void max8997_haptic_disable(struct max8997_haptic *chip)
{}

static void max8997_haptic_play_effect_work(struct work_struct *work)
{}

static int max8997_haptic_play_effect(struct input_dev *dev, void *data,
				  struct ff_effect *effect)
{}

static void max8997_haptic_close(struct input_dev *dev)
{}

static int max8997_haptic_probe(struct platform_device *pdev)
{}

static void max8997_haptic_remove(struct platform_device *pdev)
{}

static int max8997_haptic_suspend(struct device *dev)
{}

static DEFINE_SIMPLE_DEV_PM_OPS(max8997_haptic_pm_ops,
				max8997_haptic_suspend, NULL);

static const struct platform_device_id max8997_haptic_id[] =;
MODULE_DEVICE_TABLE(platform, max8997_haptic_id);

static struct platform_driver max8997_haptic_driver =;
module_platform_driver();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();