/* * Copyright (C) 2014 Fraunhofer ITWM * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * Written by: * Phoebe Buckheister */ #ifndef MAC802154_LLSEC_H #define MAC802154_LLSEC_H #include #include #include #include #include #include struct mac802154_llsec_key { struct ieee802154_llsec_key key; /* one tfm for each authsize (4/8/16) */ struct crypto_aead *tfm[3]; struct crypto_skcipher *tfm0; struct kref ref; }; struct mac802154_llsec_device_key { struct ieee802154_llsec_device_key devkey; struct rcu_head rcu; }; struct mac802154_llsec_device { struct ieee802154_llsec_device dev; struct hlist_node bucket_s; struct hlist_node bucket_hw; /* protects dev.frame_counter and the elements of dev.keys */ spinlock_t lock; struct rcu_head rcu; }; struct mac802154_llsec_seclevel { struct ieee802154_llsec_seclevel level; struct rcu_head rcu; }; struct mac802154_llsec { struct ieee802154_llsec_params params; struct ieee802154_llsec_table table; DECLARE_HASHTABLE(devices_short, 6); DECLARE_HASHTABLE(devices_hw, 6); /* protects params, all other fields are fine with RCU */ rwlock_t lock; }; void mac802154_llsec_init(struct mac802154_llsec *sec); void mac802154_llsec_destroy(struct mac802154_llsec *sec); int mac802154_llsec_get_params(struct mac802154_llsec *sec, struct ieee802154_llsec_params *params); int mac802154_llsec_set_params(struct mac802154_llsec *sec, const struct ieee802154_llsec_params *params, int changed); int mac802154_llsec_key_add(struct mac802154_llsec *sec, const struct ieee802154_llsec_key_id *id, const struct ieee802154_llsec_key *key); int mac802154_llsec_key_del(struct mac802154_llsec *sec, const struct ieee802154_llsec_key_id *key); int mac802154_llsec_dev_add(struct mac802154_llsec *sec, const struct ieee802154_llsec_device *dev); int mac802154_llsec_dev_del(struct mac802154_llsec *sec, __le64 device_addr); int mac802154_llsec_devkey_add(struct mac802154_llsec *sec, __le64 dev_addr, const struct ieee802154_llsec_device_key *key); int mac802154_llsec_devkey_del(struct mac802154_llsec *sec, __le64 dev_addr, const struct ieee802154_llsec_device_key *key); int mac802154_llsec_seclevel_add(struct mac802154_llsec *sec, const struct ieee802154_llsec_seclevel *sl); int mac802154_llsec_seclevel_del(struct mac802154_llsec *sec, const struct ieee802154_llsec_seclevel *sl); int mac802154_llsec_encrypt(struct mac802154_llsec *sec, struct sk_buff *skb); int mac802154_llsec_decrypt(struct mac802154_llsec *sec, struct sk_buff *skb); #endif /* MAC802154_LLSEC_H */ iv class='cgit-panel'>diff options
context:
space:
mode:
authorLokesh Vutla <lokeshvutla@ti.com>2016-11-10 10:59:15 +0530
committerMark Brown <broonie@kernel.org>2016-11-11 15:36:38 +0000
commit205321f0927ad2303e7f71767d402e0ff36a9a87 (patch)
treefc103f416e5df36a8a2a6c5d88f24f4f6c5a65bc /net/ipx
parent1001354ca34179f3db924eb66672442a173147dc (diff)
regulator: lp873x: Add support for populating input supply
In order to have a proper topology of regulators for a platform, each registering regulator needs to populate supply_name field for identifying its supply's name. Add supply_name field for lp873x regulators. Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Acked-for-MFD-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'net/ipx')