#define BIT(nr) (1UL << (nr))
#define BIT_MASK(nr) (1UL << ((nr) % BITS_PER_LONG))
#define BIT_WORD(nr) ((nr) / BITS_PER_LONG)
#define BITS_PER_BYTE 8
#define BITS_TO_LONGS(nr) DIV_ROUND_UP(nr, BITS_PER_BYTE * sizeof(long))
#define DECLARE_BITMAP(name,bits) /
unsigned long name[BITS_TO_LONGS(bits)]
043 |
static DECLARE_BITMAP(clock_map_enabled, NR_CLKS);
|
044 |
static DEFINE_SPINLOCK(clock_map_lock);
|
clock_map_enabled[BIT_WORD(clk->id)] &= ~BIT_MASK(clk->id);
clock_map_enabled[BIT_WORD(clk->id)] |= BIT_MASK(clk->id);
|
int clk_enable( struct clk *clk)
|
078 |
spin_lock_irqsave(&clocks_lock, flags);
|
080 |
if (clk->count == 1) {
|
081 |
clk->ops->enable(clk->id);
|
082 |
spin_lock(&clock_map_lock);
|
083 |
clock_map_enabled[BIT_WORD(clk->id)] |= BIT_MASK(clk->id);
|
084 |
spin_unlock(&clock_map_lock);
|
086 |
spin_unlock_irqrestore(&clocks_lock, flags);
|
089 |
EXPORT_SYMBOL(clk_enable); |
091 |
void clk_disable( struct clk *clk)
|
094 |
spin_lock_irqsave(&clocks_lock, flags);
|
095 |
BUG_ON(clk->count == 0);
|
097 |
if (clk->count == 0) {
|
098 |
clk->ops->disable(clk->id);
|
099 |
spin_lock(&clock_map_lock);
|
100 |
clock_map_enabled[BIT_WORD(clk->id)] &= ~BIT_MASK(clk->id);
|
101 |
spin_unlock(&clock_map_lock);
|
103 |
spin_unlock_irqrestore(&clocks_lock, flags);
|
105 |
EXPORT_SYMBOL(clk_disable); |
void check_clk_is_enable(int clkid)
{
if(clock_map_enabled[BIT_WORD(clkid)] & BIT_MASK(clkid))
{
printk("clk->id %d is enable/n",clkid);
}
}
分享到:
相关推荐
北京理工大学操作系统作业 作业1 概述
北京理工大学操作系统作业2 进程
北京理工大学操作系统作业
北京理工大学操作系统作业
一个类UNIX的64bit操作系统,从0开始完整的实现一个OS
随波不逐流——泰国AQ全新处理器AQ-DSP32bit操作体验.pdf
项目基于IE11浏览器开发,用户操作系统版本有win7 32bit/win7 64 bit/win8 64bit几种,从网上搜索下各个操作系统下的IE11版本
北京理工大学操作系统作业
该工具适合安装到win64bit上,工具本人已经验证完全可用。
北京理工大学操作系统作业
对于win7,win8,安装oracle数据库是件头疼的事,win7推荐11g,win8推荐12c,关于12c的客户端比较难找,该资源中给出官方的客户端资源链接,进去第一个就是,至于PLSQL这个软件,在win8上显示数据库内中文是乱码,并非服务器与...
北京理工大学操作系统作业
经常项目中用到的Java的位运算相关的方法,稍微整理了下 详细介绍可参考博客 http://longshaojian.iteye.com/admin/blogs/1946865 请多指教!
BlueBlood-OS这是一个类UNIX的64bit操作系统,从0开始完整的实现一个OS本篇README.md面向开发者上手指南以下指南将帮助您在本地机器上安装和运行该项目,进行开发和测试。关于如何将项目部署到在线环境,请参考部署...
Windows Vista 操作系统下无线网卡驱动程序安装步骤、服务提供商的电话号码,连接相关的各项设置、Windows Vista 32bit/64bit 确认方法。以下步骤是使用windows Vista“32bit 操作系统”时的安装步骤。另外也备有...
32 位版本使用硬狗,运行在Windows XP/Vista 32-bit 和 64-bit 的操作系统上。 64 位版本有一个新的硬狗,运行在Windows XP/Vista 64-bit 操作系统上。 OrthoVista 的LINUX 版本带硬狗,代替MAC address 技术。
Navicat Premium_11.2.7简体中文版32bit操作mysql数据库的工具
SQLite +ODBC驱动 64bit 操作请参考https://www.cnblogs.com/xcsn/p/6050878.html
凌阳位操作头文件 bit.h 摆脱繁琐的位与,位或操作,跟51一样,直接定义单个口进行操作
openwrt_widora, 基于 OpenWrt 15.05的操作系统,用于 widora BIT3,BIT4,BIT5和 NEO 敬告某些国内厂家 Widora发布的MT7688 WI-FI驱动因版权限制只能运行在NEO、BIT模组、集成BIT模组的产品上,在其他7688上运行...