mirror of
				https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux
				synced 2025-11-04 08:34:47 +10:00 
			
		
		
		
	After commitb8a1a4cd5a("i2c: Provide a temporary .probe_new() call-back type"), all drivers being converted to .probe_new() and then03c835f498("i2c: Switch .probe() to not take an id parameter") convert back to (the new) .probe() to be able to eventually drop .probe_new() from struct i2c_driver. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de Link: https://lore.kernel.org/r/20230425095716.331419-1-u.kleine-koenig@pengutronix.de Signed-off-by: Mark Brown <broonie@kernel.org
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
// SPDX-License-Identifier: GPL-2.0-only
 | 
						|
/*
 | 
						|
 * ADAU1977/ADAU1978/ADAU1979 driver
 | 
						|
 *
 | 
						|
 * Copyright 2014 Analog Devices Inc.
 | 
						|
 *  Author: Lars-Peter Clausen <lars@metafoo.de>
 | 
						|
 */
 | 
						|
 | 
						|
#include <linux/i2c.h>
 | 
						|
#include <linux/mod_devicetable.h>
 | 
						|
#include <linux/module.h>
 | 
						|
#include <linux/regmap.h>
 | 
						|
#include <sound/soc.h>
 | 
						|
 | 
						|
#include "adau1977.h"
 | 
						|
 | 
						|
static const struct i2c_device_id adau1977_i2c_ids[];
 | 
						|
 | 
						|
static int adau1977_i2c_probe(struct i2c_client *client)
 | 
						|
{
 | 
						|
	struct regmap_config config;
 | 
						|
	const struct i2c_device_id *id = i2c_match_id(adau1977_i2c_ids, client);
 | 
						|
 | 
						|
	config = adau1977_regmap_config;
 | 
						|
	config.val_bits = 8;
 | 
						|
	config.reg_bits = 8;
 | 
						|
 | 
						|
	return adau1977_probe(&client->dev,
 | 
						|
		devm_regmap_init_i2c(client, &config),
 | 
						|
		id->driver_data, NULL);
 | 
						|
}
 | 
						|
 | 
						|
static const struct i2c_device_id adau1977_i2c_ids[] = {
 | 
						|
	{ "adau1977", ADAU1977 },
 | 
						|
	{ "adau1978", ADAU1978 },
 | 
						|
	{ "adau1979", ADAU1978 },
 | 
						|
	{ }
 | 
						|
};
 | 
						|
MODULE_DEVICE_TABLE(i2c, adau1977_i2c_ids);
 | 
						|
 | 
						|
static struct i2c_driver adau1977_i2c_driver = {
 | 
						|
	.driver = {
 | 
						|
		.name = "adau1977",
 | 
						|
	},
 | 
						|
	.probe = adau1977_i2c_probe,
 | 
						|
	.id_table = adau1977_i2c_ids,
 | 
						|
};
 | 
						|
module_i2c_driver(adau1977_i2c_driver);
 | 
						|
 | 
						|
MODULE_DESCRIPTION("ASoC ADAU1977/ADAU1978/ADAU1979 driver");
 | 
						|
MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>");
 | 
						|
MODULE_LICENSE("GPL");
 |