cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

ccu_phase.h (881B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * Copyright (c) 2016 Maxime Ripard. All rights reserved.
      4 */
      5
      6#ifndef _CCU_PHASE_H_
      7#define _CCU_PHASE_H_
      8
      9#include <linux/clk-provider.h>
     10
     11#include "ccu_common.h"
     12
     13struct ccu_phase {
     14	u8			shift;
     15	u8			width;
     16
     17	struct ccu_common	common;
     18};
     19
     20#define SUNXI_CCU_PHASE(_struct, _name, _parent, _reg, _shift, _width, _flags) \
     21	struct ccu_phase _struct = {					\
     22		.shift	= _shift,					\
     23		.width	= _width,					\
     24		.common	= {						\
     25			.reg		= _reg,				\
     26			.hw.init	= CLK_HW_INIT(_name,		\
     27						      _parent,		\
     28						      &ccu_phase_ops,	\
     29						      _flags),		\
     30		}							\
     31	}
     32
     33static inline struct ccu_phase *hw_to_ccu_phase(struct clk_hw *hw)
     34{
     35	struct ccu_common *common = hw_to_ccu_common(hw);
     36
     37	return container_of(common, struct ccu_phase, common);
     38}
     39
     40extern const struct clk_ops ccu_phase_ops;
     41
     42#endif /* _CCU_PHASE_H_ */