That's fine, but use the right function.
Here, you're talking about L2 again, but your code only touches the L1
cache. I think you're confused about caching.
No.
/**
* clk_get - lookup and obtain a reference to a clock producer.
* @dev: device for clock "consumer"
* @id: clock comsumer ID
*
* Returns a struct clk corresponding to the clock producer, or
* valid IS_ERR() condition containing errno. The implementation
* uses @dev and @id to determine the clock consumer, and thereby
* the clock producer. (IOW, @id may be identical strings, but
* clk_get may return different clock producers depending on @dev.)
The intention is that 'id' is specific to each 'dev', and identifies
the connection on 'dev' that you want the clock for. It's the
_consumer's_ name, nothing to do with the clock producer.
There's also clk_get_sys() if you don't have a struct device.
--