本文整理汇总了C++中power_down函数的典型用法代码示例。如果您正苦于以下问题:C++ power_down函数的具体用法?C++ power_down怎么用?C++ power_down使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了power_down函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: ov2680_s_config
static int ov2680_s_config(struct v4l2_subdev *sd,
int irq, void *platform_data)
{
struct ov2680_device *dev = to_ov2680_sensor(sd);
struct i2c_client *client = v4l2_get_subdevdata(sd);
int ret = 0;
if (!platform_data)
return -ENODEV;
dev->platform_data =
(struct camera_sensor_platform_data *)platform_data;
mutex_lock(&dev->input_lock);
/* power off the module, then power on it in future
* as first power on by board may not fulfill the
* power on sequqence needed by the module
*/
ret = power_down(sd);
if (ret) {
dev_err(&client->dev, "ov2680 power-off err.\n");
goto fail_power_off;
}
ret = power_up(sd);
if (ret) {
dev_err(&client->dev, "ov2680 power-up err.\n");
goto fail_power_on;
}
ret = dev->platform_data->csi_cfg(sd, 1);
if (ret)
goto fail_csi_cfg;
/* config & detect sensor */
ret = ov2680_detect(client);
if (ret) {
dev_err(&client->dev, "ov2680_detect err s_config.\n");
goto fail_csi_cfg;
}
/* turn off sensor, after probed */
ret = power_down(sd);
if (ret) {
dev_err(&client->dev, "ov2680 power-off err.\n");
goto fail_csi_cfg;
}
mutex_unlock(&dev->input_lock);
return 0;
fail_csi_cfg:
dev->platform_data->csi_cfg(sd, 0);
fail_power_on:
power_down(sd);
dev_err(&client->dev, "sensor power-gating failed\n");
fail_power_off:
mutex_unlock(&dev->input_lock);
return ret;
}
开发者ID:ReneNyffenegger,项目名称:linux,代码行数:60,代码来源:atomisp-ov2680.c
示例2: ov5693_s_config
static int ov5693_s_config(struct v4l2_subdev *sd,
int irq, void *platform_data)
{
struct ov5693_device *dev = to_ov5693_sensor(sd);
struct i2c_client *client = v4l2_get_subdevdata(sd);
int ret = 0;
if (platform_data == NULL)
return -ENODEV;
mutex_lock(&dev->input_lock);
dev->platform_data = platform_data;
ret = power_up(sd);
if (ret) {
dev_err(&client->dev, "ov5693 power-up err.\n");
goto fail_power_on;
}
ret = dev->platform_data->csi_cfg(sd, 1);
if (ret)
goto fail_csi_cfg;
/* config & detect sensor */
ret = ov5693_detect(client);
if (ret) {
dev_err(&client->dev, "ov5693_detect err s_config.\n");
goto fail_csi_cfg;
}
/* turn off sensor, after probed */
ret = power_down(sd);
if (ret) {
dev_err(&client->dev, "ov5693 power-off err.\n");
goto fail_csi_cfg;
}
mutex_unlock(&dev->input_lock);
return 0;
fail_csi_cfg:
dev->platform_data->csi_cfg(sd, 0);
fail_power_on:
power_down(sd);
dev_err(&client->dev, "sensor power-gating failed\n");
mutex_unlock(&dev->input_lock);
return ret;
}
开发者ID:Katarzynasrom,项目名称:android_kernel_lenovo_spark,代码行数:49,代码来源:ov5693.c
示例3: isp1301_set_peripheral
static int
isp1301_set_peripheral(struct otg_transceiver *otg, struct usb_gadget *gadget)
{
struct isp1301 *isp = container_of(otg, struct isp1301, otg);
if (!otg || isp != the_transceiver)
return -ENODEV;
if (!gadget) {
OTG_IRQ_EN_REG = 0;
if (!isp->otg.default_a)
enable_vbus_draw(isp, 0);
usb_gadget_vbus_disconnect(isp->otg.gadget);
isp->otg.gadget = 0;
power_down(isp);
return 0;
}
#ifdef CONFIG_USB_OTG
isp->otg.gadget = gadget;
dev_dbg(&isp->client.dev, "registered gadget\n");
/* gadget driver may be suspended until vbus_connect () */
if (isp->otg.host)
return isp1301_otg_enable(isp);
return 0;
#elif !defined(CONFIG_USB_OHCI_HCD) && !defined(CONFIG_USB_OHCI_HCD_MODULE)
isp->otg.gadget = gadget;
// FIXME update its refcount
OTG_CTRL_REG = (OTG_CTRL_REG & OTG_CTRL_MASK
& ~(OTG_XCEIV_OUTPUTS|OTG_CTRL_BITS))
| OTG_ID;
power_up(isp);
isp->otg.state = OTG_STATE_B_IDLE;
if (machine_is_omap_h2())
isp1301_set_bits(isp, ISP1301_MODE_CONTROL_1, MC1_DAT_SE0);
isp1301_set_bits(isp, ISP1301_INTERRUPT_RISING,
INTR_SESS_VLD);
isp1301_set_bits(isp, ISP1301_INTERRUPT_FALLING,
INTR_VBUS_VLD);
dev_info(&isp->client.dev, "B-Peripheral sessions ok\n");
dump_regs(isp, __func__);
/* If this has a Mini-AB connector, this mode is highly
* nonstandard ... but can be handy for testing, so long
* as you don't plug a Mini-A cable into the jack.
*/
if (isp1301_get_u8(isp, ISP1301_INTERRUPT_SOURCE) & INTR_VBUS_VLD)
b_peripheral(isp);
return 0;
#else
dev_dbg(&isp->client.dev, "peripheral sessions not allowed\n");
return -EINVAL;
#endif
}
开发者ID:miettal,项目名称:armadillo420_standard,代码行数:60,代码来源:isp1301_omap.c
示例4: ov5693_s_power
static int ov5693_s_power(struct v4l2_subdev *sd, int on)
{
struct ov5693_device *dev = to_ov5693_sensor(sd);
struct i2c_client *client = v4l2_get_subdevdata(sd);
int ret = 0;
mutex_lock(&dev->input_lock);
if (on == 0) {
if (dev->vcm_driver && dev->vcm_driver->power_down)
ret = dev->vcm_driver->power_down(sd);
if (ret)
dev_err(&client->dev, "vcm power-down failed.\n");
ret = power_down(sd);
} else {
ret = power_up(sd);
if (ret)
goto done;
ret = ov5693_init(sd);
if (ret)
goto done;
if (dev->vcm_driver && dev->vcm_driver->power_up)
ret = dev->vcm_driver->power_up(sd);
if (ret)
dev_err(&client->dev, "vcm power-up failed.\n");
}
done:
mutex_unlock(&dev->input_lock);
return ret;
}
开发者ID:Katarzynasrom,项目名称:android_kernel_lenovo_spark,代码行数:33,代码来源:ov5693.c
示例5: pm_suspend_disk
int pm_suspend_disk(void)
{
int error;
if ((error = prepare()))
return error;
pr_debug("PM: Attempting to suspend to disk.\n");
if (pm_disk_mode == PM_DISK_FIRMWARE)
return pm_ops->enter(PM_SUSPEND_DISK);
pr_debug("PM: snapshotting memory.\n");
in_suspend = 1;
if ((error = swsusp_suspend()))
goto Done;
if (in_suspend) {
pr_debug("PM: writing image.\n");
error = swsusp_write();
if (!error)
power_down(pm_disk_mode);
} else
pr_debug("PM: Image restored successfully.\n");
swsusp_free();
Done:
finish();
return error;
}
开发者ID:GodFox,项目名称:magx_kernel_xpixl,代码行数:28,代码来源:disk.c
示例6: hibernate
int hibernate(void)
{
int error;
mutex_lock(&pm_mutex);
/* The snapshot device should not be opened while we're running */
if (!atomic_add_unless(&snapshot_device_available, -1, 0)) {
error = -EBUSY;
goto Unlock;
}
error = pm_notifier_call_chain(PM_HIBERNATION_PREPARE);
if (error)
goto Exit;
/* Allocate memory management structures */
error = create_basic_memory_bitmaps();
if (error)
goto Exit;
printk("Syncing filesystems ... ");
sys_sync();
printk("done.\n");
error = prepare_processes();
if (error)
goto Finish;
if (hibernation_mode == HIBERNATION_TESTPROC) {
printk("swsusp debug: Waiting for 5 seconds.\n");
mdelay(5000);
goto Thaw;
}
error = hibernation_snapshot(hibernation_mode == HIBERNATION_PLATFORM);
if (in_suspend && !error) {
unsigned int flags = 0;
if (hibernation_mode == HIBERNATION_PLATFORM)
flags |= SF_PLATFORM_MODE;
pr_debug("PM: writing image.\n");
error = swsusp_write(flags);
swsusp_free();
if (!error)
power_down();
} else {
pr_debug("PM: Image restored successfully.\n");
swsusp_free();
}
Thaw:
unprepare_processes();
Finish:
free_basic_memory_bitmaps();
Exit:
pm_notifier_call_chain(PM_POST_HIBERNATION);
atomic_inc(&snapshot_device_available);
Unlock:
mutex_unlock(&pm_mutex);
return error;
}
开发者ID:acassis,项目名称:emlinux-ssd1935,代码行数:59,代码来源:disk.c
示例7: quit
void
quit(void)
{
if (buffer != NULL)
free(buffer);
power_down();
exit(1);
}
开发者ID:mikey75,项目名称:epsiflash,代码行数:8,代码来源:console.c
示例8: read_chip
void
read_chip(void)
{
int r;
power_up();
r = chips[chipindex].read_func(buffersize, pagesize);
file_save();
power_down();
}
开发者ID:mikey75,项目名称:epsiflash,代码行数:10,代码来源:console.c
示例9: isp1301_set_host
/* add or disable the host device+driver */
static int
isp1301_set_host(struct otg_transceiver *otg, struct usb_bus *host)
{
struct isp1301 *isp = container_of(otg, struct isp1301, otg);
if (!otg || isp != the_transceiver)
return -ENODEV;
if (!host) {
omap_writew(0, OTG_IRQ_EN);
power_down(isp);
isp->otg.host = NULL;
return 0;
}
#ifdef CONFIG_USB_OTG
isp->otg.host = host;
dev_dbg(&isp->client->dev, "registered host\n");
host_suspend(isp);
if (isp->otg.gadget)
return isp1301_otg_enable(isp);
return 0;
#elif !defined(CONFIG_USB_GADGET_OMAP)
// FIXME update its refcount
isp->otg.host = host;
power_up(isp);
if (machine_is_omap_h2())
isp1301_set_bits(isp, ISP1301_MODE_CONTROL_1, MC1_DAT_SE0);
dev_info(&isp->client->dev, "A-Host sessions ok\n");
isp1301_set_bits(isp, ISP1301_INTERRUPT_RISING,
INTR_ID_GND);
isp1301_set_bits(isp, ISP1301_INTERRUPT_FALLING,
INTR_ID_GND);
/* If this has a Mini-AB connector, this mode is highly
* nonstandard ... but can be handy for testing, especially with
* the Mini-A end of an OTG cable. (Or something nonstandard
* like MiniB-to-StandardB, maybe built with a gender mender.)
*/
isp1301_set_bits(isp, ISP1301_OTG_CONTROL_1, OTG1_VBUS_DRV);
dump_regs(isp, __func__);
return 0;
#else
dev_dbg(&isp->client->dev, "host sessions not allowed\n");
return -EINVAL;
#endif
}
开发者ID:458941968,项目名称:mini2440-kernel-2.6.29,代码行数:56,代码来源:isp1301_omap.c
示例10: probe_chip
int
probe_chip (void)
{
int i;
power_up ();
for (i = 0; chips[i].name != NULL; i++)
{
chips[i].probe_func();
if ((chips[i].id1 == id1) && (chips[i].id2 == id2))
{
chipindex = i;
chip_selected ();
power_down ();
return 1;
};
};
chipindex = i - 1;
power_down ();
return -1;
}
开发者ID:mikey75,项目名称:epsiflash,代码行数:21,代码来源:console.c
示例11: pm_suspend_disk
int pm_suspend_disk(void)
{
int error;
error = prepare_processes();
if (error)
return error;
if (pm_disk_mode == PM_DISK_TESTPROC)
return 0;
suspend_console();
error = device_suspend(PMSG_FREEZE);
if (error) {
resume_console();
printk("Some devices failed to suspend\n");
goto Thaw;
}
if (pm_disk_mode == PM_DISK_TEST) {
printk("swsusp debug: Waiting for 5 seconds.\n");
mdelay(5000);
goto Done;
}
pr_debug("PM: snapshotting memory.\n");
in_suspend = 1;
if ((error = swsusp_suspend()))
goto Done;
if (in_suspend) {
device_resume();
resume_console();
pr_debug("PM: writing image.\n");
error = swsusp_write();
if (!error)
power_down(pm_disk_mode);
else {
swsusp_free();
goto Thaw;
}
} else {
pr_debug("PM: Image restored successfully.\n");
}
swsusp_free();
Done:
device_resume();
resume_console();
Thaw:
unprepare_processes();
return error;
}
开发者ID:xiandaicxsj,项目名称:copyKvm,代码行数:53,代码来源:disk.c
示例12: ov2680_s_power
static int ov2680_s_power(struct v4l2_subdev *sd, int on)
{
int ret;
if (on == 0){
ret = power_down(sd);
} else {
ret = power_up(sd);
if (!ret)
return ov2680_init(sd);
}
return ret;
}
开发者ID:ReneNyffenegger,项目名称:linux,代码行数:13,代码来源:atomisp-ov2680.c
示例13: main
int main(uint32_t arg, uint32_t *result_id)
{
switch(boot_decision(get_context()))
{
case BOOT_ROCK:
*result_id = arg;
return BOOT_ROM_SECTION;
case BOOT_OF:
return BOOT_ROM_CONTINUE;
case BOOT_STOP:
default:
power_down();
}
}
开发者ID:ifroz,项目名称:rockbox,代码行数:14,代码来源:dualboot.c
示例14: suspend_power_down
void suspend_power_down(void)
{
#ifdef NO_SUSPEND_POWER_DOWN
;
#elif defined(SUSPEND_MODE_NOPOWERSAVE)
;
#elif defined(SUSPEND_MODE_STANDBY)
standby();
#elif defined(SUSPEND_MODE_IDLE)
idle();
#else
power_down(WDTO_15MS);
#endif
}
开发者ID:Eleuin,项目名称:tmk_keyboard,代码行数:14,代码来源:suspend.c
示例15: erase_chip
void
erase_chip(void)
{
int r,
b;
power_up();
r = chips[chipindex].erase_func(buffersize, pagesize);
b = generic_blank_check(buffersize, pagesize);
power_down();
if (r < 0 || b < 0)
msg_error();
}
开发者ID:mikey75,项目名称:epsiflash,代码行数:16,代码来源:console.c
示例16: program_chip
void
program_chip(void)
{
int r,
b,
v;
file_open();
power_up();
chips[chipindex].erase_func(buffersize, pagesize);
b = generic_blank_check(buffersize, pagesize);
r = chips[chipindex].burn_func(buffersize, pagesize);
v = generic_verify(buffersize, pagesize);
power_down();
if (r < 0 || b < 0 || v < 0)
msg_error();
}
开发者ID:mikey75,项目名称:epsiflash,代码行数:17,代码来源:console.c
示例17: power_down
/**
* power_down - Shut the machine down for hibernation.
*
* Use the platform driver, if configured, to put the system into the sleep
* state corresponding to hibernation, or try to power it off or reboot,
* depending on the value of hibernation_mode.
*/
static void power_down(void)
{
#ifdef CONFIG_SUSPEND
int error;
#endif
switch (hibernation_mode) {
case HIBERNATION_REBOOT:
kernel_restart(NULL);
break;
case HIBERNATION_PLATFORM:
hibernation_platform_enter();
case HIBERNATION_SHUTDOWN:
if (pm_power_off)
kernel_power_off();
break;
#ifdef CONFIG_SUSPEND
case HIBERNATION_SUSPEND:
error = suspend_devices_and_enter(PM_SUSPEND_MEM);
if (error) {
if (hibernation_ops)
hibernation_mode = HIBERNATION_PLATFORM;
else
hibernation_mode = HIBERNATION_SHUTDOWN;
power_down();
}
/*
* Restore swap signature.
*/
error = swsusp_unmark();
if (error)
printk(KERN_ERR "PM: Swap will be unusable! "
"Try swapon -a.\n");
return;
#endif
}
kernel_halt();
/*
* Valid image is on the disk, if we continue we risk serious data
* corruption after resume.
*/
printk(KERN_CRIT "PM: Please power down manually\n");
while (1)
cpu_relax();
}
开发者ID:LCameron,项目名称:linux-xlnx,代码行数:52,代码来源:hibernate.c
示例18: attachInterrupt
chrono::millis Low_Power::power_down_int(chrono::millis millis, ADC_t adc, BOD_t bod)
{
s_interrupt_fired = false;
attachInterrupt(0, pinInterrupt, FALLING);
if (s_interrupt_fired)
{
detachInterrupt(0);
s_interrupt_fired = false;
return millis;
}
chrono::millis remaining = power_down(millis, adc, bod);
detachInterrupt(0);
s_interrupt_fired = false;
return remaining;
}
开发者ID:porkmarks,项目名称:sense,代码行数:19,代码来源:Low_Power.cpp
示例19: hm5040_s_power
static int hm5040_s_power(struct v4l2_subdev *sd, int on)
{
struct hm5040_device *dev = to_hm5040_sensor(sd);
int ret;
pr_info("%s: on %d\n", __func__, on);
if (on == 0) {
if (dev->vcm_driver && dev->vcm_driver->power_down)
ret = dev->vcm_driver->power_down(sd);
return power_down(sd);
} else {
if (dev->vcm_driver && dev->vcm_driver->power_up)
ret = dev->vcm_driver->power_up(sd);
ret = power_up(sd);
if (!ret)
return hm5040_init(sd);
}
return ret;
}
开发者ID:yutokt,项目名称:android_kernel_intel_anzhen4,代码行数:19,代码来源:hm5040.c
示例20: main
int main(int argc, char *argv[])
{
int which;
int time;
if ( argc <2 )
{
printf("Usage: %s <KickerNumber> <Duration>\n",argv[0]);
printf(" 0xF000 0xF000 -> Master OFF (default)\n");
printf(" 0xFFFF 0xFFFF -> Master ON\n");
return(3);
}
initKicker();
if (argc==3)
{
which = atoi(argv[1]);
time = atoi(argv[2]);
kick(which,time);
}
if (argc==2)
{
printf("Argv = %s \n",argv[1]);
if (strcmp(argv[1],"on")==0) power_up();
if (strcmp(argv[1],"off")==0) power_down();
}
deinitKicker();
return 0;
}
开发者ID:Sean3Don,项目名称:opentribot,代码行数:41,代码来源:kick.c
注:本文中的power_down函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论