Hello,
I have an i2c chip (light management unit) which can be connected to many
leds and other items in many different ways.
While writing this driver I have not been trying to force anything on a
user because of this. However, I want to make functions such as
enableChargePump(bool) callable from other kernel code that knows how the
hardware is setup for this particular device.
So I have a kernel module that knows how the chip works(via i2c) and I wish
exposes functions to be called from other kernel code.
I then have another kernel module specific to a product that calls
functions from the previously described kernel module.
How do I create functions callable from outside of the i2c driver? There
can also be many of these i2c devices in a product
Code with question repeated for clarification on question:
lmu_as3676_probe(struct i2c_client *client, const struct i2c_device_id *id)
{
struct lmu_record *rd = 0;
rd = kzalloc(sizeof(struct lmu_record), GFP_KERNEL);
i2c_set_clientdata(client, rd);
....
}
static int __init lmu_as3676_init(void)
{
return i2c_add_driver(&lmu_driver);
}
static int enableChargePump1(bool enable) // maybe somehow pass in two vars
= (bool enable, i2c_client *client)
{
// How do make this function function do i2c calls for an i2c chip, or
schedule work to be done on the i2c bus
// this function should be allowed to be called from within anywhere in
kernel space
}
EXPORT_SYMBOL(enableChargePump1);
--
Thank you
--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to [email protected]
Please read the FAQ at http://kernelnewbies.org/FAQ